Hi, we are using 3.2.2 version of kernel. When Bluetooth(connected to USB 2.0) is suspended, urb->use_count value does not become zero and eventually there is a continuous wait in wait_event() of usb_kill_urb(). wait_event(usb_kill_urb_queue, atomic_read(&urb->use_count) == 0); urb_count is incremented at only one place in usb_hcd_submit_urb() and decremented in usb_hcd_giveback_urb(). (Also, in error case inside usb_hcd_submit_urb()). After taking print of urb->use_count at all these places, I see, even without connecting the Bluetooth device urb_count is incremented while below execution has never been decremented. dwc_otg: version 2.93a 15-MAY-2011 [ 2.440000] ====>[usb_hcd_submit_urb][1482] urb->use_count = 1 pipe=2147484032 [vid=0x1d6b] [pid=0x0003][devno=1] [ 2.450000] ====>[usb_hcd_giveback_urb][1626] urb->use_count = 0 pipe=2147484032 [vid=0x1d6b] [pid=0x0003][devno=1] [ 2.460000] ====>[usb_hcd_submit_urb][1482] urb->use_count = 1 pipe=1077969280 [vid=0x1d6b] [pid=0x0003][devno=1] [ 2.480000] Core Release: 2.81a ..... ..... [ 3.490000] ====>[usb_hcd_giveback_urb][1626] urb->use_count = 0 pipe=2147484032 [vid=0x1d6b] [pid=0x0002][devno=1] [ 3.540000] ====>[usb_hcd_submit_urb][1482] urb->use_count = 2 pipe=1077969280 [vid=0x1d6b] [pid=0x0002][devno=1] [ 3.540000] ====>[usb_hcd_giveback_urb][1626] urb->use_count = 1 pipe=1077969280 [vid=0x1d6b] [pid=0x0002][devno=1] urb->use_count corresponding to pipe 1077969280 incremented from 0 to 2 and never decremented back to 0 till Linux boots up. Please find the complete log attached herewith. Thanks