Re: OHCI hangs after failing to free resources

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Sat, 28 Apr 2007, Mike Nuss wrote:

> > This has nothing to do with polling or bInterval.  The host controller is
> > supposed to generate an interrupt at the start of each frame (once per
> > millisecond) provided the appropriate IRQ-enable flag is set.  INTR_SF ==
> > INTeRrupt at Start of Frame.  These are the interrupts which apparently
> > don't occur -- although your debugging may uncover other problems.
> 
> So it seems like if the host controller were not generating INTR_SF at
> all, the host wouldn't get data from any of the attached devices.

No, I don't think that's right.  The data transfers work more or less
independently from the Start Of Frame interrupts, because each time a
transfer completes the host controller generates another IRQ -- or at
least, it's supposed to.  The SOF interrupts are needed pretty much only
for unlinking URBs, which is why you see problems in the endpoint_disable
routine (since part of disabling an endpoint is to unlink any outstanding 
URBs queued for that endpoint).

> The
> behavior I'm seeing is that one or more devices' read queues will 'lock
> up' (and the problem doesn't become critical until the device is removed
> and hcd_endpoint_disable is called) but the rest keep working.

It sounds like there's something seriously wrong with the host controller
hardware, and I don't mean just the SOF stuff.  When the problem occurs
you might be able to get some useful information from the OHCI debugging
files in

	/sys/class/usb_host/usb_hostN/

where N is the bus number of the failing controller.  (Note: these files
are present only if you set CONFIG_USB_DEBUG when building the kernel.)

Alan Stern


-------------------------------------------------------------------------
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.