USB: rtl8150_disconnect() needs tasklet_kill()

We need to wait until any currently-running handler has completed.  Fixes an
unplug-time oops reported by "Miles Lane" <[email protected]>.

Cc: "Petko Manolov" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
Andrew Morton 2006-08-14 23:11:09 -07:00 • committed by Greg Kroah-Hartman
commit eff674a514

View file

@ -972,6 +972,7 @@ static void rtl8150_disconnect(struct usb_interface *intf)
if (dev) {
set_bit(RTL8150_UNPLUG, &dev->flags);
tasklet_disable(&dev->tl);
tasklet_kill(&dev->tl);
unregister_netdev(dev->netdev);
unlink_all_urbs(dev);
free_all_urbs(dev);