On Mon, 11 Jun 2012, Austin Schuh wrote: > Hi, > > I am seeing a weird issue when using libusb. I send a bulk out > transfer. I see it go out over the wire (I've got a Beagle USB 480 > protocol analyzer, so I know that it makes it) and be acked by the > device, but the usbfs driver doesn't seem to get it's completion > callback called. This only happens occasionally, but I can generally > get it to fail within a couple minutes of running my test code. > > I enabled usbfs_snoop, and got the following traces. > > A good submission looks like > > [94252.034868] usb 1-4: usbdev_do_ioctl: SUBMITURB > [94252.034875] usb 1-4: userurb 00007fc04c6ace20, ep2 bulk-out, length 12 > [94252.034878] data: 0c 00 00 00 01 00 16 91 22 00 00 00 > ........"... > [94252.034911] usb 1-4: urb complete > [94252.034916] usb 1-4: userurb 00007fc04c6ace20, ep2 bulk-out, > actual_length 12 status 0 > > The submit that it locks up on looks like > > [94254.080226] usb 1-4: usbdev_do_ioctl: SUBMITURB > [94254.080233] usb 1-4: userurb 00007fc04c4825d0, ep2 bulk-out, length 12 > [94254.080236] data: 0c 00 00 00 01 00 16 91 23 00 00 00 > ........#... > > And then nothing else appears. usbmon reports a similar failure. I > see the submit but nothing comes back. > > I've been putting prints in the kernel to try to narrow down how the > callback never gets called, but haven't figured out much yet. > > Any ideas on what could be going wrong or where to look? If you enable CONFIG_USB_DEBUG, you can go into the appropriate subdirectory of /sys/kernel/debug/usb/ehci and see what the various files there contain. Does the same thing happen if you run the program on a different computer? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html