[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080401200618.7284DCC224@adsl-69-226-248-13.dsl.pltn13.pacbell.net>
Date: Tue, 01 Apr 2008 13:06:18 -0700
From: David Brownell <david-b@...bell.net>
To: tino.keitel@....de, pavel@....cz, linux-usb@...r.kernel.org
Cc: sonne@....de, rjw@...k.pl, linux-kernel@...r.kernel.org,
lenb@...nel.org, akpm@...ux-foundation.org
Subject: Re: 2.6.25-rc6 hangs at resume after suspend to RAM on Mac mini Core
Duo
> git-bisect revealed this:
>
> $ git bisect good
> e82cc1288fa57857c6af8c57f3d07096d4bcd9d9 is first bad commit
> commit e82cc1288fa57857c6af8c57f3d07096d4bcd9d9
> Author: David Brownell <david-b@...bell.net>
> Date: Fri Mar 7 13:49:42 2008 -0800
>
> USB: fix ehci unlink regressions
Most curious. Based on what I read earlier, I was wondering about
the handling of the unlink watchdog during a known-dodgey path.
Specifically:
> The recent EHCI driver update to split the IAA watchdog timer out from
> the other timers made several things work better, but not everything;
> and it created a couple new issues in bugzilla. Ergo this patch:
>
> - Handle a should-be-rare SMP race between the watchdog firing
> and (very late) IAA interrupts;
>
> - Remove a shouldn't-have-been-added WARN_ON() test;
>
> - Guard against one observed OOPS;
>
> - If this watchdog fires during clean HC shutdown, it should act
> as a NOP instead of interfering with the shutdown sequence;
This "fires during a clean shutdown" path. If there's any way this
patch would affect resume handling, that's where I'd expect it to
kick in. Virtually nothing else *could* cause problems there.
If you'd like to experiment, modify the "if (...)" at the top of the
ehci_iaa_watchdog() function and make it just check to see if there's
an entry being reclaimed ... comment out the HC_IS_RUNNING() check.
> - Guard against silicon errata hypothesized by some vendors:
> * IAA status latch broken, but IAAD cleared OK;
> * IAAD wasn't cleared when IAA status got reported;
FWIW the former has been confirmed as existing on some current AMD/ATI
chipsets (SB600 and SB700 are the numbers that come to mind).
> The WARN_ON is in bugzilla as 10168; the OOPS as 10078; these are
> both regressions.
>
> Signed-off-by: David Brownell <dbrownell@...rs.sourceforge.net>
> Tested-by: Gordon Farquharson <gordonfarquharson@...il.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists