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. I have no idea why suspending port 1 should cause the system to halt. Does the same problem occur with runtime PM? 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