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

Reply via email to