From: Aleksey V Gorelov <aleksey_gorelov@phoenix.com>
To: David Brownell <david-b@pacbell.net>
Cc: linux-usb-devel@lists.sourceforge.net,
Andrew Morton <akpm@osdl.org>,
"Carlo E. Prelz" <fluido@fluido.as>,
linux-kernel@vger.kernel.org
Subject: Re: [linux-usb-devel] Re: ATI RS480-based motherboard: stuck while booting with kernel >= 2.6.15 rc1
Date: Tue, 07 Feb 2006 17:04:36 -0800 [thread overview]
Message-ID: <1139360676.14882.34.camel@localhost.localdomain> (raw)
In-Reply-To: <200602071405.49462.david-b@pacbell.net>
On Tue, 2006-02-07 at 14:05 -0800, David Brownell wrote:
> On Monday 06 February 2006 6:03 pm, Aleksey Gorelov wrote:
> > Hi Dave,
> >
> > >....
> > >
> > >I think what happened is the "always run quirks" code got turned into
> > >the default too early, before the EHCI "quirk" version of the handoff
> > >code got checked against what most systems have been using for the past
> > >several years.
> > >
> > >I noticed at least one suspicous thing: it enables an SMI IRQ.
> >
> > As far as I recall, some BIOSes can be stuck at handoff forever
> > waiting for SMI if this is not enabled. No doubt BIOS bug, and seems
> > like work around brakes some other systems, grrr...
>
> I gathered as much and that's why I preserved that behavior.
>
> But it would be nice to know _which_ BIOS versions have that bug;
> it's clearly a BIOS bug, and given the other problems we've seen,
> it might be better to have that "turn on the SMI" be keyed by some
> "real" quirk logic or kernel parameters.
Agree with this. At the time the code was written I did not run into
any issues with it, hence it was the default. Unfortunately, I do not
remember exact platforms. (yes, platforms, not BIOS versions -
unfortunately, lots of bugs are introduced during tailoring BIOS to
particular platform).
>
> (The fact that USB handoff is being driven by "quirk" logic, even
> when it's not a quirk, also raises little warning flags...)
Frankly, we are still not doing it early enough. On some platforms it
causes huge delays during some of ACPI code, and quirks are working
afterward... Moving handoff earlier resolves the issue, but this may be
a bit of extreme...
>
>
> > >Even in cases when the boot firmware says it's not using EHCI ...
> >
> > That's what I do not understand. SOOE is enabled only if BIOS ownes
> > EHCI - check for ECHI_USBLEGSUP_BIOS in previous 'if' statement. Am I
> > missing something ?
>
> That's how it works now, but it didn't do that before. Previously it
> always turned on the SMI, and then never turned it off, causing issues
> on various platforms.
No, it's been like this all the time. Compare 'switch' and 'if'
statements in the patch against single original 'if' but with 2
conditions. Your patch is actually different in the following ways:
- it goes over all possible capabilities instead of processing just
first one - right thing to do;
- it always sets OS ownership, even if BIOS did not have it.
- it always disables SMI, not just in case when handoff failed. This
probably right way to cleanup after BIOS which does handoff, but does
not disable SMI afterward.
In other words, it does stop doing what previous code was doing, it
just extends it. And according to Greg, it extends it in right way ;-)
>
> Of course, the BIOS that Carlo is struggling with seems terminally
> broken, and is blatantly ignoring the spec for how those handoff
> flags are supposed to work.
Agree.
Aleks.
>
> - Dave
>
>
next prev parent reply other threads:[~2006-02-08 1:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-07 2:03 [linux-usb-devel] Re: ATI RS480-based motherboard: stuck while booting with kernel >= 2.6.15 rc1 Aleksey Gorelov
2006-02-07 22:05 ` David Brownell
2006-02-08 1:04 ` Aleksey V Gorelov [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-01-20 12:32 Carlo E. Prelz
2006-01-22 7:40 ` Carlo E. Prelz
2006-01-22 7:55 ` Andrew Morton
2006-01-23 19:01 ` [linux-usb-devel] " David Brownell
2006-01-23 21:47 ` Carlo E. Prelz
2006-01-24 4:42 ` Greg KH
2006-01-24 15:15 ` David Brownell
2006-01-22 11:11 ` Carlo E. Prelz
2006-02-05 10:33 ` Carlo E. Prelz
2006-02-05 19:45 ` [linux-usb-devel] " David Brownell
2006-02-06 8:02 ` Carlo E. Prelz
2006-02-06 16:24 ` David Brownell
2006-02-06 16:50 ` Carlo E. Prelz
2006-02-06 17:31 ` David Brownell
2006-02-06 17:45 ` Carlo E. Prelz
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=1139360676.14882.34.camel@localhost.localdomain \
--to=aleksey_gorelov@phoenix.com \
--cc=akpm@osdl.org \
--cc=david-b@pacbell.net \
--cc=fluido@fluido.as \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.