when disconnect calls (driver unloads) the work that is scheduled
is still be present in kernel global workqueue, calling cancel_
work_sync makes it remove from the global workqueue.

Signed-off-by: Devendra Naga <[email protected]>
---
 drivers/staging/btmtk_usb/btmtk_usb.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/btmtk_usb/btmtk_usb.c 
b/drivers/staging/btmtk_usb/btmtk_usb.c
index ab57a4b..bf7f812 100644
--- a/drivers/staging/btmtk_usb/btmtk_usb.c
+++ b/drivers/staging/btmtk_usb/btmtk_usb.c
@@ -1630,6 +1630,7 @@ static void btmtk_usb_disconnect(struct usb_interface 
*intf)
                return;
 
        hdev = data->hdev;
+       cancel_work_sync(&data->work);
        usb_set_intfdata(data->intf, NULL);
 
        if (data->isoc)
-- 
1.7.11.7

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to