Messages in this thread | | | Date | Thu, 2 Dec 2010 19:51:23 +0100 | From | Borislav Petkov <> | Subject | Re: edac_core: crashes on shutdown |
| |
On Thu, Dec 02, 2010 at 01:14:12PM -0500, Florian Mickler wrote: > Yes. That should work. Once we stopped the workqueue and removed it > from the global list, do we actually need to set it to OP_OFFLINE?
I think yes, because we seem to protect ourselves in the actual edac_mc_workq_function() on exit, if we overlap the work items cancellation with the execution of the delayed work at the same time on a different cpu. Besides, it is a single assignment and it does cost us almost nothing.
> Also 00740c585 did fix a hang in edac_mc.c... could this also happen > in the edac_device_del_device/edac_pci_del_device functions?
Nope, because there we don't check ->op_state when we cancel the work items in the respective _teardown() functions - we simply cancel them unconditionally.
-- Regards/Gruss, Boris.
Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632
| |