Skip to content

Commit

Permalink
usb: don't use flush_scheduled_work()
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Tejun Heo committed Dec 24, 2010
1 parent 37c95bf commit 569ff2d
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 9 deletions.
2 changes: 1 addition & 1 deletion drivers/usb/atm/speedtch.c
Original file line number Diff line number Diff line change
Expand Up @@ -718,7 +718,7 @@ static void speedtch_atm_stop(struct usbatm_data *usbatm, struct atm_dev *atm_de
del_timer_sync(&instance->resubmit_timer);
usb_free_urb(int_urb);

flush_scheduled_work();
flush_work_sync(&instance->status_check_work);
}

static int speedtch_pre_reset(struct usb_interface *intf)
Expand Down
4 changes: 1 addition & 3 deletions drivers/usb/gadget/u_ether.c
Original file line number Diff line number Diff line change
Expand Up @@ -829,11 +829,9 @@ void gether_cleanup(void)
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;
}

Expand Down
3 changes: 2 additions & 1 deletion drivers/usb/host/ohci-hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -901,7 +901,8 @@ static void ohci_stop (struct usb_hcd *hcd)

ohci_dump (ohci, 1);

flush_scheduled_work();
if (quirk_nec(ohci))
flush_work_sync(&ohci->nec_work);

ohci_usb_reset (ohci);
ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
Expand Down
2 changes: 1 addition & 1 deletion drivers/usb/otg/isp1301_omap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1247,7 +1247,7 @@ static int __exit isp1301_remove(struct i2c_client *i2c)
isp->timer.data = 0;
set_bit(WORK_STOP, &isp->todo);
del_timer_sync(&isp->timer);
flush_scheduled_work();
flush_work_sync(&isp->work);

put_device(&i2c->dev);
the_transceiver = NULL;
Expand Down
5 changes: 2 additions & 3 deletions drivers/usb/serial/oti6858.c
Original file line number Diff line number Diff line change
Expand Up @@ -613,9 +613,8 @@ static void oti6858_close(struct usb_serial_port *port)
dbg("%s(): after buf_clear()", __func__);

/* cancel scheduled setup */
cancel_delayed_work(&priv->delayed_setup_work);
cancel_delayed_work(&priv->delayed_write_work);
flush_scheduled_work();
cancel_delayed_work_sync(&priv->delayed_setup_work);
cancel_delayed_work_sync(&priv->delayed_write_work);

/* shutdown our urbs */
dbg("%s(): shutting down urbs", __func__);
Expand Down

0 comments on commit 569ff2d

Please sign in to comment.