Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

Tejun Heo 569ff2de 37c95bfe

+7 -9
+1 -1
drivers/usb/atm/speedtch.c
··· 718 718 del_timer_sync(&instance->resubmit_timer); 719 719 usb_free_urb(int_urb); 720 720 721 - flush_scheduled_work(); 721 + flush_work_sync(&instance->status_check_work); 722 722 } 723 723 724 724 static int speedtch_pre_reset(struct usb_interface *intf)
+1 -3
drivers/usb/gadget/u_ether.c
··· 829 829 return; 830 830 831 831 unregister_netdev(the_dev->net); 832 + flush_work_sync(&the_dev->work); 832 833 free_netdev(the_dev->net); 833 - 834 - /* assuming we used keventd, it must quiesce too */ 835 - flush_scheduled_work(); 836 834 837 835 the_dev = NULL; 838 836 }
+2 -1
drivers/usb/host/ohci-hcd.c
··· 901 901 902 902 ohci_dump (ohci, 1); 903 903 904 - flush_scheduled_work(); 904 + if (quirk_nec(ohci)) 905 + flush_work_sync(&ohci->nec_work); 905 906 906 907 ohci_usb_reset (ohci); 907 908 ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
+1 -1
drivers/usb/otg/isp1301_omap.c
··· 1247 1247 isp->timer.data = 0; 1248 1248 set_bit(WORK_STOP, &isp->todo); 1249 1249 del_timer_sync(&isp->timer); 1250 - flush_scheduled_work(); 1250 + flush_work_sync(&isp->work); 1251 1251 1252 1252 put_device(&i2c->dev); 1253 1253 the_transceiver = NULL;
+2 -3
drivers/usb/serial/oti6858.c
··· 613 613 dbg("%s(): after buf_clear()", __func__); 614 614 615 615 /* cancel scheduled setup */ 616 - cancel_delayed_work(&priv->delayed_setup_work); 617 - cancel_delayed_work(&priv->delayed_write_work); 618 - flush_scheduled_work(); 616 + cancel_delayed_work_sync(&priv->delayed_setup_work); 617 + cancel_delayed_work_sync(&priv->delayed_write_work); 619 618 620 619 /* shutdown our urbs */ 621 620 dbg("%s(): shutting down urbs", __func__);