usb: don't use flush_scheduled_work()
flush_scheduled_work() is being deprecated. Directly flush or cancel
work items instead.
* u_ether, isp1301_omap, speedtch conversions are straight-forward.
* ochi-hcd should only flush when quirk_nec() is true as otherwise the
work wouldn't have been initialized.
* In oti6858, cancel_delayed_work() + flush_scheduled_work() ->
cancel_delayed_work_sync().
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Duncan Sands <duncan.sands@free.fr>
Cc: linux-usb@vger.kernel.org
diff --git a/drivers/usb/gadget/u_ether.c b/drivers/usb/gadget/u_ether.c
index fbe86ca..00a7824 100644
--- a/drivers/usb/gadget/u_ether.c
+++ b/drivers/usb/gadget/u_ether.c
@@ -829,11 +829,9 @@
return;
unregister_netdev(the_dev->net);
+ flush_work_sync(&the_dev->work);
free_netdev(the_dev->net);
- /* assuming we used keventd, it must quiesce too */
- flush_scheduled_work();
-
the_dev = NULL;
}