Messages in this thread | | | Subject | Re: [PATCH net] r8152: use cancel_delayed_work for runtime suspend | From | Oliver Neukum <> | Date | Sat, 18 Oct 2014 21:48:19 +0200 |
| |
On Fri, 2014-10-17 at 13:55 +0800, Hayes Wang wrote: > It would cause dead lock for runtime suspend, when the workqueue > is running and runtime suspend occurs before the workqueue wakes > up the device. The rtl8152_suspend() waits the workqueue to finish > because of calling cancel_delayed_work_sync(). The workqueue waits > the suspend function to finish for waking up the device because of > calling usb_autopm_get_interface().
The diagnosis is good, the fix is not good. It opens a race during which the queued work can touch a suspended device.
Regards Oliver
| |