Re: [Bugme-new] [Bug 13304] New: ehci_hcd module causing problems in using usb head phone

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux