On Mon, 2010-04-05 at 16:13 -0400, Alan Stern wrote: > On Mon, 5 Apr 2010, Nate Case wrote: > > > Nice! Leaking the sitds eliminated the problem for both my custom board > > setup with an ISP1568A controller, and also the VT6212 controller setup. > > Sounds like your original idea of delaying their re-use is what needs to > > be implemented. > > Okay. Below is a patch that should do what we need. Thanks. I tested your patch and verified that this fixes the problem. FYI your patch was missing the bit to initialize cached_sitd_list (see below). - Nate Case <ncase@xxxxxxxxxxx> diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index dc55a62..889ca5a 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -543,6 +543,7 @@ static int ehci_init(struct usb_hcd *hcd) */ ehci->periodic_size = DEFAULT_I_TDPS; INIT_LIST_HEAD(&ehci->cached_itd_list); + INIT_LIST_HEAD(&ehci->cached_sitd_list); if ((retval = ehci_mem_init(ehci, GFP_KERNEL)) < 0) return retval; -- 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