> http://bugzilla.kernel.org/show_bug.cgi?id=6661
Trivial low-priority patch attached.
In a rare and all-but-unused path, the EHCI driver could reuse a variable in a way that'd make trouble. Specifically, if the first root hub port gets an overcurrent event (rare) during a remote wakeup scenario (all but unused in today's Linux, except for folk working with suspend-to-RAM and similar sleep states), that would look like a fatal error which would shut down the controller. Fix by not reusing that variable. Signed-off-by: David Brownell <[EMAIL PROTECTED]> --- g26.orig/drivers/usb/host/ehci-hcd.c 2006-06-02 18:11:41.000000000 -0700 +++ g26/drivers/usb/host/ehci-hcd.c 2006-06-07 11:31:38.000000000 -0700 @@ -640,10 +640,11 @@ static irqreturn_t ehci_irq (struct usb_ writel (status | CMD_RUN, &ehci->regs->command); while (i--) { - status = readl (&ehci->regs->port_status [i]); - if (status & PORT_OWNER) + int pstatus = readl (&ehci->regs->port_status [i]); + + if (pstatus & PORT_OWNER) continue; - if (!(status & PORT_RESUME) + if (!(pstatus & PORT_RESUME) || ehci->reset_done [i] != 0) continue;
_______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel