Messages in this thread | | | Date | Mon, 26 Nov 2012 17:53:42 +0530 | Subject | Re: USB 2.0: No giveback comes for one submitted URB | From | naveen yadav <> |
| |
Dear Alan,
Thanks for your reply ,
We check on 3.2.34 and 3.6.7 on X86 host machine. and result is same without connecting Bluetooth device. I am attaching log
On Thu, Nov 22, 2012 at 9:08 PM, Alan Stern <stern@rowland.harvard.edu> wrote: > On Thu, 22 Nov 2012, naveen yadav wrote: > >> 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 > > That's how it is _supposed_ to work. You have discovered that > something else increments urb->use_count. > >> 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. > >> ..... >> [ 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] > > Now you need to find out what other code has changed urb->use_count and > fix it. > > Alan Stern > [unhandled content-type:application/octet-stream][unhandled content-type:application/octet-stream] | |