On Sunday 06 February 2005 12:00 pm, Chris Clayton wrote: > > I've been doing lots of experimenting here. I eventually found that reverting > only the changes that led to version 1.48 of host/ohci-q.c does not make > 2.6.4 work. In fact, the changes that led to both versions 1.48 and 1.49 need > to be reverted ... > > I have no idea whether I have left behind races or other potential > instabilities,
Most certainly: reverting those will return the oopsing and related problems fixed by those patches. You'd not be able to run very long on SMP for example. Fixing this is going to involve finding some behavior that's specific to that Compaq OHCI silicon. It'll probably be something involving either how the control (and bulk -- same logic, different bits) transfer gets shut down as part of emptying the queue empties, or how it gets restarted later. There are two registers involved: the (control|bulk) list head, and the (control|bulk) current pointer. That latter might need to be zeroed, for example. There are likewise two control bits: a list enable, and a list filled (both in control and bulk versions). To track that down you should look mostly at the first patch, since you know that's what changed things. Remembering that the logic there works on essentially all newer chips, you'll have to imagine you're a crotchety old bit of hardware that probably wants to be told something extra, or maybe be told the same thing but just a bit later. - Dave ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel