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]

 



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