public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mark Lord <lkml@rtr.ca>
To: Oliver Neukum <oliver@neukum.org>
Cc: Pavel Machek <pavel@suse.cz>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Greg KH <gregkh@suse.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	jikos@suse.cz
Subject: Re: 2.6.25-rc7:  Ugh.
Date: Mon, 31 Mar 2008 13:03:42 -0400	[thread overview]
Message-ID: <47F1196E.9090509@rtr.ca> (raw)
In-Reply-To: <200803311837.30129.oliver@neukum.org>

Oliver Neukum wrote:
> Am Montag, 31. März 2008 17:04:46 schrieb Mark Lord:
>> Oliver Neukum wrote:
>>> Am Montag, 31. März 2008 16:39:33 schrieb Mark Lord:
>>>
>>>> One thing I just tried, was to unload all USB stuff before suspend,
>>>> and reload on resume -- just stuck the commands into my suspend/resume script.
>>>>
>>>> The machine has been 100% rock solid since then.
>>>> So I think that definitely implicates USB.
>>> Yes. What happens if you unload only usbhid at that time?
>> ..
>>
>> Mmm.. interesting choice, there.  I'll try that.
>>
>> There is another quirk on this machine that might confuse
>> software that's not robust:  the internal Bluetooth adapter
>> is USB connected, and I normally have it disabled (BIOS hotkey).
>> So it normally is "not present".
>>
>> But on any power-on / resume, it briefly powers up and becomes "present",
>> and, after a second or two, the BIOS powers it down again, "not present".
>>
>> Just long enough for software to notice it and try talking to it.
>> If that software is not carefully coded, it might get confused.
>>
>> This has not been a problem before, but perhaps with the new USB autosuspend code?
> 
> hci_usb doesn't have any autosuspend code.
> 
>>>> Still want USB_SUSPEND=n ?  Please explain.
>>> It looks like you are hanging in the kthread for autosuspending.
>>> Compiling that out should confirm it.
>> ..
>>
>> Okay, and once we see that it works fine:  then what?
> 
> We'll combine that information with the result of only removing usbhid
> and arrive at a pretty good idea where in the kernel the hang occurs.
> There are only two functions that touch autosuspend in the usbhid code.
> So if it works with usbhid unloaded, either of them should be to blame.
..

Thanks!

It does still hang with *usbhid* unloaded,
but not if all USB stuff is unloaded.
I'm still working my way through the rest of the suggestions here,
and USB_DEBUG=n is next.

I have figured out a way to make this much more reproducible now:
When suspended, the notebook does not supply +5V over USB.
But with a voltmeter, I discovered that there is sufficient capacitance
on the USB +5V, that it takes many minutes for the voltage to decay
from 5.1V down to near 0V.

Resuming while the voltage is still relatively high, generally works.
Resuming after the voltage drops to near zero, always fails (with USB modules loaded).

So I've put a 2Kohm resistor across the USB +5V lines,
forcing it to decay to zero within about 5 seconds.
This helps a lot for debugging here.

It probably also provides a vital clue as to what is wrong.
Resume seems to generally work when the USB devices maintain
some amount of standby power, and always fails when they don't.


  reply	other threads:[~2008-03-31 17:04 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-27 15:29 2.6.25-rc7: Ugh Mark Lord
2008-03-27 16:07 ` Greg KH
2008-03-28  0:32   ` Jiri Kosina
2008-03-28  1:57     ` Mark Lord
2008-03-28  3:12       ` David Miller
2008-03-28  4:42         ` Bob Tracy
2008-03-28  4:56           ` David Miller
2008-03-28  5:17             ` Mark Lord
2008-03-28  6:01               ` david
2008-03-28 16:34             ` Bob Tracy
2008-04-05 18:23             ` Bill Davidsen
2008-03-28  5:36         ` Mike Galbraith
2008-03-28  5:46         ` Mark Lord
2008-03-28  5:52           ` Mark Lord
2008-03-28  6:05             ` Mark Lord
2008-03-28  6:58               ` David Brownell
2008-03-28  9:16                 ` Ingo Molnar
2008-03-28  9:49                   ` David Brownell
2008-03-28 10:20                     ` Ingo Molnar
2008-03-28 11:01                       ` Pavel Machek
2008-03-28 15:03                       ` Jan Engelhardt
2008-03-28 20:14                         ` David Brownell
2008-03-28 12:51                     ` Kconfig RTC selection (was: 2.6.25-rc7: Ugh.) Tilman Schmidt
2008-03-28 13:49                       ` Kconfig RTC selection Mark Lord
2008-03-28 19:22                       ` Kconfig RTC selection (was: 2.6.25-rc7: Ugh.) David Brownell
2008-03-29 12:55                         ` Kconfig RTC selection Tilman Schmidt
2008-03-28 13:47                     ` 2.6.25-rc7: Ugh Mark Lord
2008-03-28 20:04                       ` Kconfig RTC selection (was: 2.6.25-rc7: Ugh.) David Brownell
2008-03-28 21:06                         ` Adrian Bunk
2008-03-28 21:23                           ` David Brownell
2008-03-28 21:33                             ` Adrian Bunk
2008-03-28 21:45                               ` David Brownell
2008-03-28 21:59                                 ` Adrian Bunk
2008-03-28 22:18                                   ` David Brownell
2008-03-28 22:36                                     ` Adrian Bunk
2008-03-29 11:40                                     ` [rtc-linux] " Alessandro Zummo
2008-03-28 14:56                     ` 2.6.25-rc7: Ugh Jan Engelhardt
2008-03-28 17:47                       ` Adrian Bunk
2008-03-29  3:58               ` Mark Lord
2008-03-28  1:51   ` Mark Lord
2008-03-28  2:11   ` Mark Lord
2008-03-28  2:13     ` Mark Lord
2008-03-28 14:34     ` Alan Stern
2008-03-28 14:57       ` Mark Lord
2008-03-27 22:00 ` Rafael J. Wysocki
2008-03-28  5:22   ` Mark Lord
2008-03-28  2:14 ` Mark Lord
2008-03-28  9:24   ` Pavel Machek
2008-03-30 21:04     ` Mark Lord
2008-03-30 21:09       ` Mark Lord
2008-03-31 11:55       ` Oliver Neukum
2008-03-31 14:39         ` Mark Lord
2008-03-31 15:04           ` Oliver Neukum
2008-03-31 15:04             ` Mark Lord
2008-03-31 15:14               ` Mark Lord
2008-03-31 16:37               ` Oliver Neukum
2008-03-31 17:03                 ` Mark Lord [this message]
2008-03-31 17:06                   ` Mark Lord
2008-03-31 17:15                   ` Mark Lord
2008-03-31 17:21                     ` Mark Lord
2008-03-31 17:30                       ` Mark Lord
2008-03-31 18:05                         ` Oliver Neukum
2008-03-31 19:21                           ` Mark Lord
2008-04-02  8:04                             ` Oliver Neukum
2008-04-02 14:38                               ` Mark Lord
2008-04-02 14:38                                 ` Mark Lord
2008-04-02 15:05                                   ` 2.6.25-rc7/rc8 USB dead on resume Mark Lord
2008-04-02 15:21                                     ` Oliver Neukum
2008-04-02 15:08                                   ` 2.6.25-rc7: Ugh Alan Stern
2008-04-02 15:44                                     ` 2.6.25-rc7: Ugh. ---> PATCH Mark Lord
2008-04-02 15:47                                       ` Mark Lord
2008-04-02 15:49                                         ` Mark Lord
2008-04-02 20:09                                       ` Alan Stern
2008-04-02 16:04                                     ` 2.6.25-rc7: Ugh David Brownell
2008-04-02 16:09                                       ` Mark Lord
2008-04-02 20:22                                         ` David Brownell
2008-04-02 16:20                                       ` [PATCH] usb ehci_iaa_watchdog fix Mark Lord
2008-04-02 16:48                                         ` Alan Stern
2008-04-02 17:34                                           ` Mark Lord
2008-04-02 18:08                                             ` Mark Lord
2008-04-02 19:20                                               ` Alan Stern
2008-04-02 20:42                                                 ` David Brownell
2008-04-02 21:08                                                   ` Alan Stern
2008-04-07 23:37                                                     ` David Brownell
2008-04-08  2:13                                                       ` Alan Stern
2008-04-02 20:31                                           ` David Brownell
2008-04-02 20:55                                             ` Alan Stern
2008-04-02 23:07                                               ` David Brownell
2008-04-02 16:56                                         ` David Brownell
2008-04-01  9:59                           ` 2.6.25-rc7: Ugh Pavel Machek

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=47F1196E.9090509@rtr.ca \
    --to=lkml@rtr.ca \
    --cc=akpm@linux-foundation.org \
    --cc=gregkh@suse.de \
    --cc=jikos@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oliver@neukum.org \
    --cc=pavel@suse.cz \
    /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