On Wed, 17 Jun 2009, abhishekkumar wrote: > Here is the dmesg log along with usbmon log. It looks like your hardware is really buggy. All these lines: > hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0000 > hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0000 > hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0000 > hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0000 should not be there. Here's an additional patch to get some more information. Let's see what shows up in the dmesg log with this. Alan Stern Index: usb-2.6/drivers/usb/host/ehci-hcd.c =================================================================== --- usb-2.6.orig/drivers/usb/host/ehci-hcd.c +++ usb-2.6/drivers/usb/host/ehci-hcd.c @@ -705,10 +705,8 @@ static irqreturn_t ehci_irq (struct usb_ cmd = ehci_readl(ehci, &ehci->regs->command); bh = 0; -#ifdef VERBOSE_DEBUG /* unrequested/ignored: Frame List Rollover */ dbg_status (ehci, "irq", status); -#endif /* INT, ERR, and IAA interrupt rates can be throttled */ @@ -751,6 +749,7 @@ static irqreturn_t ehci_irq (struct usb_ int pstatus = ehci_readl(ehci, &ehci->regs->port_status [i]); + dbg_port(ehci, "", i, pstatus); if (pstatus & PORT_OWNER) continue; if (!(test_bit(i, &ehci->suspended_ports) && Index: usb-2.6/drivers/usb/host/ehci-sched.c =================================================================== --- usb-2.6.orig/drivers/usb/host/ehci-sched.c +++ usb-2.6/drivers/usb/host/ehci-sched.c @@ -816,12 +816,15 @@ static int intr_submit ( if (unlikely(!test_bit(HCD_FLAG_HW_ACCESSIBLE, &ehci_to_hcd(ehci)->flags))) { + ehci_dbg(ehci, "HW not accessible\n"); status = -ESHUTDOWN; goto done_not_linked; } status = usb_hcd_link_urb_to_ep(ehci_to_hcd(ehci), urb); - if (unlikely(status)) + if (unlikely(status)) { + ehci_dbg(ehci, "link_urb failed: %d\n", status); goto done_not_linked; + } /* get qh and force any scheduling errors */ INIT_LIST_HEAD (&empty); -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html