2014-06-19 09:15:27

by Jörg Otte

[permalink] [raw]
Subject: [usb resume regression] in 3.16-rc1

on resume with 3.16-rc1 I get the following error messages in dmesg
which are alltogether not present in 3.15:

[ 43.518116] dpm_run_callback(): 0xffffffffa53c4120 returns -13
[ 43.518119] PM: Device 1-1 failed to resume async: error -13
[ 43.522380] hub 1-1:1.0: hub_port_status failed (err = -71)
[ 43.528538] sd 0:0:0:0: [sda] Starting disk
[ 43.530886] hub 1-1:1.0: hub_port_status failed (err = -71)
[ 43.535140] usb 1-1-port2: cannot disable (err = -71)
[ 43.535142] dpm_run_callback(): 0xffffffffa53c4120 returns -71
[ 43.535145] PM: Device 1-1.2 failed to resume async: error -71
[ 43.543673] usb 1-1-port4: cannot disable (err = -71)
[ 43.543674] dpm_run_callback(): 0xffffffffa53c4120 returns -71
[ 43.543679] PM: Device 1-1.4 failed to resume async: error -71

usb devices connected to the hub (in my case mouse and keyboard) are
all death after resume and cannot be activated again.

Jörg

Attached dmesg,lsusb


Attachments:
resume-problem-3.16-dmesg (56.42 kB)
resume-problem-v3.16-lsusb (46.72 kB)
Download all attachments

2014-06-19 15:02:41

by Alan Stern

[permalink] [raw]
Subject: Re: [usb resume regression] in 3.16-rc1

On Thu, 19 Jun 2014, Jörg Otte wrote:

> on resume with 3.16-rc1 I get the following error messages in dmesg
> which are alltogether not present in 3.15:
>
> [ 43.518116] dpm_run_callback(): 0xffffffffa53c4120 returns -13
> [ 43.518119] PM: Device 1-1 failed to resume async: error -13
> [ 43.522380] hub 1-1:1.0: hub_port_status failed (err = -71)
> [ 43.528538] sd 0:0:0:0: [sda] Starting disk
> [ 43.530886] hub 1-1:1.0: hub_port_status failed (err = -71)
> [ 43.535140] usb 1-1-port2: cannot disable (err = -71)
> [ 43.535142] dpm_run_callback(): 0xffffffffa53c4120 returns -71
> [ 43.535145] PM: Device 1-1.2 failed to resume async: error -71
> [ 43.543673] usb 1-1-port4: cannot disable (err = -71)
> [ 43.543674] dpm_run_callback(): 0xffffffffa53c4120 returns -71
> [ 43.543679] PM: Device 1-1.4 failed to resume async: error -71
>
> usb devices connected to the hub (in my case mouse and keyboard) are
> all death after resume and cannot be activated again.

-13 is -EACCES. It's not clear what could have caused that error,
since EACCES isn't used in the USB core or in ehci-hcd.

Can you try doing the same thing after enabling dynamic debugging in
usbcore and ehci-hcd?

Alan Stern

2014-06-19 16:41:24

by Jörg Otte

[permalink] [raw]
Subject: Re: [usb resume regression] in 3.16-rc1

I don't know how to do this.

Thanks, Jörg

2014-06-19 17:02 GMT+02:00 Alan Stern <[email protected]>:
> On Thu, 19 Jun 2014, Jörg Otte wrote:
>
>> on resume with 3.16-rc1 I get the following error messages in dmesg
>> which are alltogether not present in 3.15:
>>
>> [ 43.518116] dpm_run_callback(): 0xffffffffa53c4120 returns -13
>> [ 43.518119] PM: Device 1-1 failed to resume async: error -13
>> [ 43.522380] hub 1-1:1.0: hub_port_status failed (err = -71)
>> [ 43.528538] sd 0:0:0:0: [sda] Starting disk
>> [ 43.530886] hub 1-1:1.0: hub_port_status failed (err = -71)
>> [ 43.535140] usb 1-1-port2: cannot disable (err = -71)
>> [ 43.535142] dpm_run_callback(): 0xffffffffa53c4120 returns -71
>> [ 43.535145] PM: Device 1-1.2 failed to resume async: error -71
>> [ 43.543673] usb 1-1-port4: cannot disable (err = -71)
>> [ 43.543674] dpm_run_callback(): 0xffffffffa53c4120 returns -71
>> [ 43.543679] PM: Device 1-1.4 failed to resume async: error -71
>>
>> usb devices connected to the hub (in my case mouse and keyboard) are
>> all death after resume and cannot be activated again.
>
> -13 is -EACCES. It's not clear what could have caused that error,
> since EACCES isn't used in the USB core or in ehci-hcd.
>
> Can you try doing the same thing after enabling dynamic debugging in
> usbcore and ehci-hcd?
>
> Alan Stern
>

2014-06-19 17:35:52

by Alan Stern

[permalink] [raw]
Subject: Re: [usb resume regression] in 3.16-rc1

On Thu, 19 Jun 2014, Jörg Otte wrote:

> I don't know how to do this.

To enable dynamic debugging (as root):

echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
echo 'module ehci_hcd =p' >/sys/kernel/debug/dynamic_debug/control

Do this before you carry out the suspend, and post the resulting dmesg
log.

Alan Stern

2014-06-20 08:34:17

by Jörg Otte

[permalink] [raw]
Subject: Re: [usb resume regression] in 3.16-rc1

2014-06-19 19:35 GMT+02:00 Alan Stern <[email protected]>:
> On Thu, 19 Jun 2014, Jörg Otte wrote:
>
>> I don't know how to do this.
>
> To enable dynamic debugging (as root):
>
> echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
> echo 'module ehci_hcd =p' >/sys/kernel/debug/dynamic_debug/control
>
> Do this before you carry out the suspend, and post the resulting dmesg
> log.
>
> Alan Stern
>
here it is.
Thanks, Jörg


Attachments:
resume-problem-3.16-debug-dmesg (77.50 kB)

2014-06-20 14:57:58

by Alan Stern

[permalink] [raw]
Subject: Re: [usb resume regression] in 3.16-rc1

On Fri, 20 Jun 2014, Jörg Otte wrote:

> 2014-06-19 19:35 GMT+02:00 Alan Stern <[email protected]>:
> > On Thu, 19 Jun 2014, Jörg Otte wrote:
> >
> >> I don't know how to do this.
> >
> > To enable dynamic debugging (as root):
> >
> > echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
> > echo 'module ehci_hcd =p' >/sys/kernel/debug/dynamic_debug/control
> >
> > Do this before you carry out the suspend, and post the resulting dmesg
> > log.
> >
> > Alan Stern
> >
> here it is.

Now I see the reason for the regression. There already is a patch to
fix it:

http://marc.info/?l=linux-usb&m=140304702623966&w=2

The fix will probably be included in 3.16-rc2 or -rc3.

Alan Stern

2014-06-20 16:27:15

by Jörg Otte

[permalink] [raw]
Subject: Re: [usb resume regression] in 3.16-rc1

2014-06-20 16:57 GMT+02:00 Alan Stern <[email protected]>:
> On Fri, 20 Jun 2014, Jörg Otte wrote:
>
>> 2014-06-19 19:35 GMT+02:00 Alan Stern <[email protected]>:
>> > On Thu, 19 Jun 2014, Jörg Otte wrote:
>> >
>> >> I don't know how to do this.
>> >
>> > To enable dynamic debugging (as root):
>> >
>> > echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
>> > echo 'module ehci_hcd =p' >/sys/kernel/debug/dynamic_debug/control
>> >
>> > Do this before you carry out the suspend, and post the resulting dmesg
>> > log.
>> >
>> > Alan Stern
>> >
>> here it is.
>
> Now I see the reason for the regression. There already is a patch to
> fix it:
>
> http://marc.info/?l=linux-usb&m=140304702623966&w=2
>
> The fix will probably be included in 3.16-rc2 or -rc3.
>
> Alan Stern
>
The patch works for me.

Thanks, Jörg