Hi On Thu, May 28, 2015 at 01:42:07PM -0400, Alan Stern wrote: > On Thu, 28 May 2015, Michael Trimarchi wrote: > > > Hi Alan > > > > we are working on a samsung exysnos5430 device and we have some problem > > during suspend. The only way to solve it seems this patch. > > We don't really know what could be the problem. Do you have any suggestion > > to debug it? > > > > diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c > > index c254076..6b01784 100644 > > --- a/drivers/usb/host/ehci-hub.c > > +++ b/drivers/usb/host/ehci-hub.c > > @@ -289,14 +289,6 @@ static int ehci_bus_suspend (struct usb_hcd *hcd) > > > > if (t1 != t2) { > > /* > > + * When suspend bit for PORT 1 is set, > > + * system halts when spin_unlock_irq() > > + * called---> why???? > > + */ > > You didn't say what your problem was, but I guess your system halts. > Are you certain the halt occurs when spin_unlock_irq() is called? Did > you put printk statements before and after that statement? Maybe the > halt actually occurs later. > [ 97.522145] [c0] hub 1-2:1.0: hub_suspend [ 97.524798] [c0] usb usb2: usb auto-resume [ 97.528805] [c0] usb 1-2: unlink qh256-0001/ddd92700 start 1 [1/0 us] [ 97.535588] [c0] s2m-rtc s2m-rtc: s2m_rtc_read_time: 2015-05-29 12:48:36(0x20)PM [ 97.542667] [c0] exynos-ohci 15520000.usb: resume root hub [ 97.548063] [c0] usb 1-2: usb suspend, wakeup 0 [ 97.552730] [c0] hub 1-0:1.0: hub_suspend [ 97.556862] [c0] s2m-rtc s2m-rtc: s2m_rtc_read_time: 2015-05-29 12:48:36(0x20)PM [ 97.563950] [c0] usb usb1: bus suspend, wakeup 0 [ 97.568541] [c0] s2m-rtc s2m-rtc: s2m_rtc_set_alarm: 2015-05-29 12:49:16(0x20)PM [ 97.575972] [c0] s5p-ehci 15510000.usb: suspend root hub [ 97.581519] [c0] usb usb1: hcd_bus_suspend: __finished__ it happens later, where is not clear > I have no idea why suspending port 1 should cause the system to halt. > Does the same problem occur with runtime PM? > Runtime PM is enabled by the driver of exynos does not support it. I have cross check with mainline but I don't see any important different with my kernel version. Michael > Alan Stern > > > + if (port == 0 && (t1 & 0x01)) { > > + t2 &= ~PORT_SUSPEND; > > + } > > + /* > > * On some controllers, Wake-On-Disconnect will > > * generate false wakeup signals until the bus > > * switches over to full-speed idle. For their > -- 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