On Wed, 26 Nov 2014 16:25:08 -0500 (EST), Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > Since this driver seems to be based on work by Synopsys, maybe someone > from that company can help. > > (By the way, the license information in the ifxhcd.h header file > doesn't say anything about the GPL. That doesn't seem kosher.) Actually the topmost chunk, mentioning Lantiq copyright, does. But it also says parts (which ?) are copyright Synopsys with a "redistribute but keep this notice" licence. > So at time 100.332 the URB completes and the completion routine > resubmits it. At time 101.436 the driver tries to kill the URB. At > 101.440 the URB completes (presumably with a status code indicating > that it was killed) and the completion routine resubmits it. > Evidently the resubmission succeeds, because usb_hcd_submit_urb's > atomic_dec is not hit. > > Resubmission of a killed URB is not supposed to succeed. Aha, this may just be what I was missing. I was aiming at getting use_count down by finding some missing completion call, rather than questioning that last submission's success. > If it does, it means there's a bug in the HCD: It isn't calling > usb_hcd_link_urb_to_ep() properly. Indeed, no trace of this function being called. > Maybe you can adapt an in-tree HCD to work with your host controller > hardware. The ifxhcd driver doesn't look so hot, at first glance. > Maybe it can be fixed up... Looking at drivers/usb/host I see quite short files which I understand as hardware-specific (ex: 551 lines for ehci-terga.c). Such length should be in my reach, but the 6k lines of some non-[eo]hci are very likely not. I'll try to understand how this controller would fit in. Thanks a lot for your answers, -- Vincent Pelletier -- 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