Re: Question on USB re-enumeration

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

 



On Sat, 28 Nov 2009, Sriram V wrote:

> Hi Alan,
>   We have a USB GSM externally powered connected through a external
> transceiver phy. Normal suspend-resume works.
>   When we make a call to the GSM chip while in suspend. The resume
> fails and it returns -19.
> 
>   This is coming from file : drivers/usb/core/driver.c - external usb
> resume function.

Here's the important part of the logs, starting just before the
successful and unsuccessful logs differ:

> <7>ehci-omap ehci-omap.0: GetStatus port 2 status 001803 POWER sig=j CSC CONNECT
> <7>hub 1-0:1.0: port 2: status 0501 change 0001
> <7>usb 1-2: reset-resume
> <7>ehci-omap ehci-omap.0: port 2 high speed
> <7>ehci-omap ehci-omap.0: GetStatus port 2 status 001005 POWER sig=se0
> PE CONNECT
> <6>usb 1-2: reset high speed USB device using ehci-omap and address 2
> <7>ehci-omap ehci-omap.0: port 2 high speed
> <7>ehci-omap ehci-omap.0: GetStatus port 2 status 001005 POWER sig=se0
> PE CONNECT

> <7>ehci-omap ehci-omap.0: GetStatus port 2 status 001803 POWER sig=j CSC CONNECT
> <7>hub 1-0:1.0: port 2: status 0501 change 0001
> <7>usb 1-2: reset-resume
> <7>ehci-omap ehci-omap.0: port 2 high speed
> <7>ehci-omap ehci-omap.0: GetStatus port 2 status 001005 POWER sig=se0
> PE CONNECT
> <6>usb 1-2: reset high speed USB device using ehci-omap and address 2
> <7>ehci-omap ehci-omap.0: devpath 2 ep0in 3strikes
> <7>ehci-omap ehci-omap.0: devpath 2 ep0in 3strikes
> <7>ehci-omap ehci-omap.0: devpath 2 ep0in 3strikes
> <7>ehci-omap ehci-omap.0: GetStatus port 2 status 001002 POWER sig=se0 CSC
> <7>hub 1-0:1.0: logical disconnect on port 2

The reason for this difference is that in the unsuccessful case, the
GSM chip could be not reset correctly.  It failed to respond to a
standard USB request.  Maybe it doesn't like to be reset when an
incoming call arrives.

The logs show that the chip appears to get disconnected from the USB
bus at some point during the suspend or resume.  There's no way to know
why this happens, but that is the reason for the reset.  Maybe there's
a bug in your EHCI controller or maybe there's a bug in the GSM chip.

Alan Stern

_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux