Re: linux-2.6.32.59: usb usb3: bus suspend fail, err -2

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

 




Elric Fu wrote:
> 2012/3/27 Andiry Xu <andiry.xu@xxxxxxx>:
>> On 03/27/2012 09:40 AM, Elric Fu wrote:
>>> 2012/3/26 Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx>:
>>>> Elric Fu wrote:
>>>>> 2012/3/26 Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx>:
>>>>>> Elric Fu wrote:
>>>>>>> 2012/3/26 Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx>:
>>>>>>>> Hi,
>>>>>>>>  I tried one of the "stable" kernels with my Dell Votro 3550 laptop
>>>>>>>> with a USB2.0 hub connected to its eSATA/USB2.0 port. Is this a known
>>>>>>>> issue? Aside from removing USB suspend from the kernel, is there any
>>>>>>>> other way to get rid of this?
>>>>>>>
>>>>>>> The kernel is too old. The power management implementation for USB3
>>>>>>> was supported from 2.6.37. You should use the lastest kernel.
>>>>>>
>>>>>> Ah, thanks. So how about disabling CONFIG_USB_SUSPEND altogether
>>>>>> for USB3.0 in those old kernels? I mean really to disable it in the xHCI
>>>>>> driver only.
>>>>>>
>>>>>> But the message I reported here is a USB2.0 connection through an
>>>>>> internal eSATA/USB2.0 connector on the laptop. So are we talking about
>>>>>> the same?
>>>>>
>>>>> Maybe you can write a negative number to /sys/bus/usb/[dev bus name]/
>>>>> power/autosuspend. The negative value of autosuspend means disabling
>>>>> autosuspend.
>>>>
>>>> # ls -la /sys/bus/usb/devices/3-0\:1.0/power/
>>>> total 0
>>>> drwxr-xr-x 2 root root    0 Mar 26 15:24 .
>>>> drwxr-xr-x 4 root root    0 Mar 26 15:24 ..
>>>> -rw-r--r-- 1 root root 4096 Mar 26 15:24 wakeup
>>>> #
>>>> # ls -la /sys/bus/usb/devices/3-0\:1.0/power/
>>>> total 0
>>>> drwxr-xr-x 2 root root    0 Mar 26 15:24 .
>>>> drwxr-xr-x 4 root root    0 Mar 26 15:24 ..
>>>> -rw-r--r-- 1 root root 4096 Mar 26 15:24 wakeup
>>>> # find /sys/bus/usb/devices/ -name autosuspend
>>>> # find /sys/bus/usb/devices/ -name autosuspend
>>>> # gzip -dc /proc/config.gz | grep SUSPEND
>>>> CONFIG_ARCH_SUSPEND_POSSIBLE=y
>>>> CONFIG_SUSPEND=y
>>>> CONFIG_SUSPEND_FREEZER=y
>>>> CONFIG_USB_SUSPEND=y
>>>> # uname -a
>>>> Linux vostro 2.6.32.59-default #2 SMP Mon Mar 26 01:15:46 MEST 2012 x86_64 Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz GenuineIntel GNU/Linux
>>>> # echo -n -1 > /sys/bus/usb/devices/3-0\:1.0/power/autosuspend
>>>> -su: /sys/bus/usb/devices/3-0:1.0/power/autosuspend: No such file or directory
>>>> #
>>>>
>>>> What am I doing wrong? ;)
>>>
>>> What you do is correct. Actually, I don't know why the USB3 bus don't
>>> have the autosuspend file.
>>>
>>> Anyway, I don't think it is a issue. The "-2" is -ENOENT. It is a returned value
>>> when the hcd_bus_suspend() identify hcd->driver->bus_suspend is NULL.
>>
>> Why? ehci_bus_suspend/resume() are defined in 32.59.
> 
> According to the log, the host controller of Bus 3 is xHCI.
> 
> xhci_hcd 0000:0b:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> xhci_hcd 0000:0b:00.0: setting latency timer to 64
> xhci_hcd 0000:0b:00.0: xHCI Host Controller
> xhci_hcd 0000:0b:00.0: new USB bus registered, assigned bus number 3
> xhci_hcd 0000:0b:00.0: supports USB remote wakeup
> xhci_hcd 0000:0b:00.0: irq 16, io mem 0xf7d00000
> usb usb3: config 1 interface 0 altsetting 0 endpoint 0x81 has no
> SuperSpeed companion descriptor
> usb usb3: default language 0x0409
> usb usb3: udev 1, busnum 3, minor = 256
> usb usb3: New USB device found, idVendor=1d6b, idProduct=0003
> usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> usb usb3: Product: xHCI Host Controller
> usb usb3: Manufacturer: Linux 2.6.32.59-default xhci_hcd
> usb usb3: SerialNumber: 0000:0b:00.0
> usb usb3: usb_probe_device
> usb usb3: configuration #1 chosen from 1 choice
> xHCI xhci_add_endpoint called for root hub
> xHCI xhci_check_bandwidth called for root hub
> usb usb3: adding 3-0:1.0 (config #1, interface 0)
> hub 3-0:1.0: usb_probe_interface
> hub 3-0:1.0: usb_probe_interface - got id
> hub 3-0:1.0: USB hub found
> hub 3-0:1.0: 4 ports detected
> hub 3-0:1.0: standalone hub
> hub 3-0:1.0: individual port power switching
> hub 3-0:1.0: individual port over-current protection
> hub 3-0:1.0: TT requires at most 8 FS bit times (666 ns)
> hub 3-0:1.0: power on to power good time: 20ms
> hub 3-0:1.0: local power source is good
> hub 3-0:1.0: enabling power on all ports
> 
>>
>>> As I said, the kernel can't support bus suspend/resume. So I think you just
>>> need to shutdown the CONFIG_USB_DEBUG. Then the syslog doesn't show
>>> the messages.
>>>
>>
>> But the 32.59 kernel should support bus suspend/resume.
> 
> The messages are:
> 
> hub 3-0:1.0: hub_suspend
> usb usb3: bus auto-suspend
> usb usb3: bus suspend fail, err -2
> hub 3-0:1.0: hub_resume
> hub 3-0:1.0: state 7 ports 4 chg 0000 evt 0000
> 
> So I think it is reported due to hcd_bus_suspend() found the
> hcd->driver->bus_suspend is NULL.
> 
>>
>> Thanks,
>> Andiry

For completenes and easiness of the reading, here are details about the controller.

0b:00.0 USB controller: Texas Instruments Device 8241 (rev 02) (prog-if 30 [XHCI])
        Subsystem: Dell Device 04b3
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at f7d00000 (64-bit, non-prefetchable) [size=64K]
        Memory at f7d10000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: [40] Power Management version 3
        Capabilities: [48] MSI: Enable- Count=1/8 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [c0] MSI-X: Enable+ Count=8 Masked-
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [150] Device Serial Number 08-00-28-00-00-20-00-00
        Kernel driver in use: xhci_hcd

and more verbose:

0b:00.0 USB controller: Texas Instruments Device 8241 (rev 02) (prog-if 30 [XHCI])
        Subsystem: Dell Device 04b3
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at f7d00000 (64-bit, non-prefetchable) [size=64K]
        Region 2: Memory at f7d10000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=100mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] MSI: Enable- Count=1/8 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 1024 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us
                        ClockPM+ Surprise- LLActRep- BwNot-
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
                        ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis+
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [c0] MSI-X: Enable+ Count=8 Masked-
                Vector table: BAR=2 offset=00000000
                PBA: BAR=2 offset=00001000
        Capabilities: [100 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP+ Rollover- Timeout- NonFatalErr+
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
        Capabilities: [150 v1] Device Serial Number 08-00-28-00-00-20-00-00
        Kernel driver in use: xhci_hcd


As Sarah Sharp noted under thread:


Date: Wed, 28 Mar 2012 16:11:34 -0700
From: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx>
To: Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx>
Cc: linux-usb@xxxxxxxxxxxxxxx
Subject: Re: xhci_hcd 0000:0b:00.0: WARN: transfer error on endpoint
Message-ID: <20120328231134.GA10599@xanatos>
References: <4F71F8F3.8020300@xxxxxxxxxxxxxxxxxx>
In-Reply-To: <4F71F8F3.8020300@xxxxxxxxxxxxxxxxxx>

this is not well tested chipset. I will post under those other threads more details
about yet another ext4 crashed due to the USB3.0 with logs from CONFIG_USB_STORAGE_DEBUG.

Martin
--
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