On Sat, Dec 09, 2006 at 04:03:48PM -0500, Alan Stern wrote: > > but that did not help: > > > > http://userweb.kernel.org/~brodo/dmesg-autosuspend.txt > > > > The "offending" IRQ status seems to be 2008; as INTR_MASK does neither > > include STS_FLR nor STS_RECL (if I got the math correctly), IRQ_NONE is > > returned. > > Yes, that's right. In fact the controller isn't supposed to send an IRQ > when only those two bits are on. I suspect the STS_FLR bit is somehow > getting set in the intr_enable register (don't ask me how -- there doesn't > seem to be any code that could do it). Can you modify the patch to print > out the value of that register as well as the value of the status > register?
done (with only ehci-hcd being the only IRQ 10 user). case A) usb-storage device connected to "left" USB port: The flip occurs on or after IRQ status 8028 http://userweb.kernel.org/~brodo/dmesg-autosuspend-3.txt case B) snd-usb-audio device connected to "right" USB port: The flip occurs on or after IRQ status 0004. http://userweb.kernel.org/~brodo/dmesg-autosuspend-2.txt (unfortunately, without extended USB debug messages) Thanks, Dominik PS: the patch I used: --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -569,10 +569,22 @@ static irqreturn_t ehci_irq (struct usb_ struct ehci_hcd *ehci = hcd_to_ehci (hcd); u32 status; int bh; + u32 temp; spin_lock (&ehci->lock); status = readl (&ehci->regs->status); + temp = readl (&ehci->regs->intr_enable); + + { + static int cnt; + + if (cnt < 200) { + ++cnt; + ehci_info(ehci, "IRQ status %x, intr_enable %x\n", + status, temp); + } + } /* e.g. cardbus physical eject */ if (status == ~(u32) 0) { ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel