On Sat, 9 Feb 2008, David Brownell wrote: > Work around for an evident bug in one EHCI controller: IAA didn't get > set when IAAD was cleared. Evidently writing the status register can > prevent setting IAA; someone's VHDL (or whatever) code was wrong. > This workaround catches that specific bug (in the IRQ handler and in > the IAA watchdog) and treats it as if IAA was properly set. > > The patch also adds *LOTS* of related paranoia, insisting IAAD is clear > (or set, as appropriate) at various points, and adding code to improve > the handling of some such cases. It also raises the volume and precision > of debug messaging related to IAA problems. > > This patch is EXPERIMENTAL and DIAGNOSTIC ... not intended for merge. > It's also in *addition* to the IAA watchdog timer rework that's already > been merged into "2.6.25-rc0", which will help some systems. > > If you use this, run with CONFIG_USB_DEBUG enabled. Most messages > with IAA or IAAD should then be "interesting" in the sense that they > will indicate something odd happening ... maybe something that's > fully worked around, maybe not.
In view of all the problems we've been seeing with IAA implementations, should the driver be changed to rely more on the watchdog timer? Maybe even avoid IAA altogether? Alan Stern - To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
