linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jiri Slaby <jirislaby@gmail.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Rafael J. Wysocki" <rjw@suse.com>,
	akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
	Linux-pm mailing list <linux-pm@lists.linux-foundation.org>
Subject: Re: [linux-pm] Resume hangs [was: mmotm 2010-12-02-16-34 uploaded]
Date: Wed, 30 Mar 2011 16:11:17 +0200	[thread overview]
Message-ID: <4D933A05.10603@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1102221029100.1968-100000@iolanthe.rowland.org>

On 02/22/2011 04:36 PM, Alan Stern wrote:
> On Tue, 22 Feb 2011, Jiri Slaby wrote:
> 
>> On 02/04/2011 08:33 PM, Alan Stern wrote:
>>> On Fri, 4 Feb 2011, Jiri Slaby wrote:
>>>
>>>>>> It seems to suffice... No hangs still. Should I enable pm_async back
>>>>>> again to confirm the issue is still present?
>>>>>
>>>>> Yes, please, it would be good to know for sure.
>>>>
>>>> Ok, confirmed right now :).
>>>>
>>>> I disabled pm_async for USB again. What do you suggest next?
>>>
>>> What happens if you leave pm_async enabled but unplug all the USB 
>>> devices before suspending?  If there are any USB devices you can't 
>>> unplug, you can get an equivalent result by unconfiguring the root 
>>> hubs:
>>>
>>> 	for a in /sys/bus/usb/devices/usb* ; do
>>> 		echo 0 >$a/bConfigurationValue
>>> 	done
>>
>> This doesn't seem to help. The hang happened 3 times during the 2 weeks.
>>
>> I have /etc/pm/sleep.d/99usb-debug with:
>> #!/bin/bash
>>
>> send() {
>>         for a in /sys/bus/usb/devices/usb* ; do
>>                 echo $1 >$a/bConfigurationValue
>>         done
>> }
>>
>> case "$1" in
>>         hibernate|suspend)
>>                         send 0
>>                 ;;
>>         thaw|resume)
>>                         send 1
>>                 ;;
>>         *)
>>                 ;;
>> esac
>>
>> exit 0
>>
>> And it indeed properly enable/disable usb before/after suspend.
> 
> Strange indeed.  It's worth noting that the async stuff affects only
> the normal suspend and resume operations, not the late-suspend and
> early-resume operations.  This means that it all likelihood, the system
> crashes either before finishing the suspend or after doing a fair
> amount of the resume.  And yet that's not consistent with what you see
> on the screen.
> 
> By the way, are you booting with no_console_suspend?  And do you do 
> "echo 8 >/proc/sys/kernel/printk" (or equivalently, Alt-SysRq-8) before 
> suspending?

I'm testing this on my desktop. I found out yesterday, that I had async
completely disabled. So I have no output yet.

I took my dvb-t tuner from desktop and connected it to my notebook. And
got a similar hang during resume right now. It may not be related
though. The trace is:
s2disk          D 0000000000000000     0  6125   5902 0x00000004
 ffff8800797aba78 0000000000000082 ffff8800797ab9f8 0000000000012ac0
 ffff8800797abfd8 0000000000012ac0 ffff8800797abfd8 ffff8800797abfd8
 ffff8800777fe7f0 0000000000012ac0 0000000000012ac0 ffff8800797aa000
Call Trace:
 [<ffffffff8151e2ed>] schedule_timeout+0x28d/0x310
 [<ffffffff8151d410>] wait_for_common+0xc0/0x150
 [<ffffffff8133ad22>] _request_firmware+0x132/0x270
 [<ffffffffa06df2c7>] dvb_usb_download_firmware+0x37/0xf0 [dvb_usb]
 [<ffffffffa06dfbe5>] dvb_usb_device_init+0x165/0x1b0 [dvb_usb]
 [<ffffffffa06d6c27>] af9015_usb_probe+0x87/0xa0 [dvb_usb_af9015]
 [<ffffffff8138d9d2>] usb_probe_interface+0x142/0x270
 [<ffffffff8132f3c0>] really_probe+0x70/0x220
 [<ffffffff8132f757>] driver_probe_device+0x47/0xa0
 [<ffffffff8132e19c>] bus_for_each_drv+0x5c/0x90
 [<ffffffff8132f62f>] device_attach+0x8f/0xb0
 [<ffffffff8138d5b0>] usb_rebind_intf+0x60/0xa0
 [<ffffffff8138d6c7>] do_unbind_rebind+0x77/0xb0
 [<ffffffff8138d76b>] usb_resume+0x6b/0xb0
 [<ffffffff8137f96b>] usb_dev_complete+0xb/0x10
 [<ffffffff81334d1e>] device_complete+0x8e/0xe0
 [<ffffffff81335da1>] dpm_resume_end+0xa1/0x120
 [<ffffffff8109d890>] hibernation_snapshot+0xc0/0x120
 [<ffffffff810a1cde>] snapshot_ioctl+0x3ae/0x590
 [<ffffffff81169794>] do_vfs_ioctl+0x84/0x2f0
 [<ffffffff81169a98>] sys_ioctl+0x98/0xa0
 [<ffffffff81002ed2>] system_call_fastpath+0x16/0x1b
 [<00007fe6c82f8ce7>] 0x7fe6c82f8ce7


The firmware request should time out. I think I waited for longer than
60 s before when I saw the hangs on the desktop, But do you have an idea
why it doesn't load the FW immediately?

The device is:
Bus 001 Device 010: ID 0413:6029 Leadtek Research, Inc. WinFast DTV
Dongle Gold
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0413 Leadtek Research, Inc.
  idProduct          0x6029 WinFast DTV Dongle Gold
  bcdDevice            2.00
  iManufacturer           1 Leadtek
  iProduct                2 WinFast DTV Dongle Gold
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           71
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.01
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval              16
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

thanks,
-- 
js

  parent reply	other threads:[~2011-03-30 14:11 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-03  0:34 mmotm 2010-12-02-16-34 uploaded akpm
2010-12-03 17:33 ` mmotm 2010-12-02-16-34 uploaded (acpi_video) Randy Dunlap
2010-12-03 17:37 ` mmotm 2010-12-02-16-34 uploaded (netfilter-related) Randy Dunlap
2010-12-03 21:43 ` mmotm 2010-12-02-16-34 uploaded Zimny Lech
2010-12-04  0:39 ` Stephen Rothwell
2010-12-06 17:11   ` Randy Dunlap
2010-12-05  8:25 ` Resume hangs [was: mmotm 2010-12-02-16-34 uploaded] Jiri Slaby
2010-12-05 13:08   ` Rafael J. Wysocki
2010-12-13 10:04     ` Jiri Slaby
2010-12-13 21:10       ` Rafael J. Wysocki
2010-12-14 22:08         ` Jiri Slaby
2010-12-14 22:22           ` Rafael J. Wysocki
2011-01-06 14:18             ` Jiri Slaby
2011-01-20 15:23               ` Jiri Slaby
2011-01-20 21:02                 ` Rafael J. Wysocki
2011-01-21  9:16                   ` Jiri Slaby
2011-01-31 21:37                   ` Jiri Slaby
2011-01-31 21:40                     ` Jiri Slaby
2011-01-31 22:00                     ` Rafael J. Wysocki
2011-02-04 18:33                       ` Jiri Slaby
2011-02-04 19:33                         ` [linux-pm] " Alan Stern
2011-02-04 19:38                           ` Jiri Slaby
2011-02-04 20:07                             ` Alan Stern
2011-02-22  8:45                           ` Jiri Slaby
2011-02-22 15:36                             ` Alan Stern
2011-02-23 11:58                               ` Jiri Slaby
2011-02-23 15:59                                 ` Alan Stern
2011-02-24 18:41                               ` Jiri Slaby
2011-03-08  9:13                               ` Jiri Slaby
2011-03-08 19:25                                 ` Rafael J. Wysocki
2011-03-08 20:31                                   ` Jiri Slaby
2011-03-08 22:12                                     ` Rafael J. Wysocki
2011-03-08 22:14                                       ` Jiri Slaby
2011-03-08 22:15                                         ` Rafael J. Wysocki
2011-03-08 22:16                                         ` Rafael J. Wysocki
2011-03-08 22:18                                           ` Jiri Slaby
2011-03-30 14:11                               ` Jiri Slaby [this message]
2011-03-30 15:10                                 ` Alan Stern
2011-03-30 20:02                                   ` Rafael J. Wysocki
2011-03-30 21:19                                     ` Alan Stern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D933A05.10603@gmail.com \
    --to=jirislaby@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=rjw@suse.com \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).