On Fri, Feb 8, 2019 at 7:15 PM Miguel Ojeda
<[email protected]> wrote:
>
> On module unload/remove, we need to ensure that work does not run
> after we have freed resources. Concretely, cancel_delayed_work()
> may return while the callback function is still running.
>
> From kernel/workqueue.c:
>
>     The work callback function may still be running on return,
>     unless it returns true and the work doesn't re-arm itself.
>     Explicitly flush or use cancel_delayed_work_sync() to wait on it.
>
> Link: 
> https://lore.kernel.org/lkml/[email protected]/
> Reported-by: Sven Van Asbroeck <[email protected]>
> Signed-off-by: Miguel Ojeda <[email protected]>

Yes, this should do the trick.

Reviewed-by: Sven Van Asbroeck <[email protected]>

Reply via email to