From: Rupesh Gujare Date: Tue, 27 Aug 2013 15:53:42 +0000 (+0100) Subject: staging: ozwpan: Add debounce time before unregistering. X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=0140eb27756899f0d7b2ee0af111839e4006f196;p=openwrt%2Fstaging%2Fblogic.git staging: ozwpan: Add debounce time before unregistering. Fixes following error caused during unloading driver. [ 1127.542888] usb 5-1: USB disconnect, device number 2 [ 1127.542909] ozwpan ozwpan: remove, state 1 [ 1127.542933] usb usb5: USB disconnect, device number 1 [ 1127.618634] hub 5-0:1.0: hub_port_status failed (err = -19) [ 1127.618647] hub_port_connect_change: 45 callbacks suppressed [ 1127.618657] hub 5-0:1.0: connect-debounce failed, port 1 disabled [ 1127.618668] hub 5-0:1.0: cannot disable port 1 (err = -19) Signed-off-by: Rupesh Gujare Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c index 35488608df7a..4eb2f539f335 100644 --- a/drivers/staging/ozwpan/ozhcd.c +++ b/drivers/staging/ozwpan/ozhcd.c @@ -57,6 +57,10 @@ */ #define EP0_TIMEOUT_COUNTER 13 +/* Debounce time HCD driver should wait before unregistering. + */ +#define OZ_HUB_DEBOUNCE_TIMEOUT 1500 + /* * Used to link urbs together and also store some status information for each * urb. @@ -2355,6 +2359,7 @@ error: */ void oz_hcd_term(void) { + msleep(OZ_HUB_DEBOUNCE_TIMEOUT); tasklet_kill(&g_urb_process_tasklet); tasklet_kill(&g_urb_cancel_tasklet); platform_device_unregister(g_plat_dev);