Messages in this thread | | | Date | Tue, 20 May 2008 11:31:56 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [PATCH] Re: [Bug #10713] ehci splatter in 2.6.26-rc2 |
| |
On Tue, 20 May 2008, Lennert Buytenhek wrote:
> Well. I just re-tested it a couple more times to be sure, and the > "hcd->has_tt = 1;" line does make all the difference in the world when > it comes to getting oopses on plugging in low speed USB devices on this > board. So if you don't understand what's going on then I guess I don't > either. > > > > That has_tt flag isn't used anywhere in ehci-hcd (it is only > > ever set, never read), and the only place it is used in usbcore is for > > adjusting the root hub's device descriptor. > > Maybe this code in drivers/usb/core/hub.c has something to do with > it? > > switch (hdev->descriptor.bDeviceProtocol) { > case 0: > break; > case 1: > dev_dbg(hub_dev, "Single TT\n"); > hub->tt.hub = hdev; > break; > case 2: > ret = usb_set_interface(hdev, 0, 1); > if (ret == 0) { > dev_dbg(hub_dev, "TT per port\n"); > hub->tt.multi = 1; > } else > dev_err(hub_dev, "Using single TT (err %d)\n", > ret); > hub->tt.hub = hdev; > break; > default: > dev_dbg(hub_dev, "Unrecognized hub protocol %d\n", > hdev->descriptor.bDeviceProtocol); > break; > }
That must be it. This code base is getting too large to keep in a single mind...
Looks like you should submit your patch.
Alan Stern
| |