Browse Source

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 <rupesh.gujare@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rupesh Gujare 12 years ago
parent
commit
0140eb2775
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/staging/ozwpan/ozhcd.c

+ 5 - 0
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);