Re: OHCI hangs after failing to free resources

"Mike Nuss" <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
Alan Stern wrote:
> >
> > Could be the driver updated the pointers but did so at the wrong
time,
> > with the result that the controller overwrote them with older
values.
> > Or maybe just one of them was overwritten.  Would that explain your
> > observations?

It's probably nothing, but this line in ohci-q.c in td_submit_urb raised
an eyebrow:

urb_priv->ed->hwHeadP &= ~cpu_to_hc32 (ohci, ED_C);

There is a comment "resetting toggle is meaningless if the endpoint is
active" above this code. While that's true, I wouldn't expect this
operation to be atomic. What happens if the HC is updating headP during
this block? I would think the driver could potentially overwrite it with
the old value.

Mike

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.