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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to