Re: [tip:x86/urgent] x86/quirks: Add early quirk to reset Apple AirPort card

From: Ingo Molnar
Date: Fri Jun 10 2016 - 09:00:11 EST



* Lukas Wunner <lukas@xxxxxxxxx> wrote:

> On Fri, Jun 10, 2016 at 01:58:45PM +0200, Ingo Molnar wrote:
> > * Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> > > On 6/9/16, Lukas Wunner <lukas@xxxxxxxxx> wrote:
> > > > Well, the PCI core would also scan such a bus twice AFAICS.
> > > > And the performance penalty of scanning it twice seems negligible.
> > > > Early quirks can prevent double execution by setting QFLAG_APPLY_ONCE.
> > > > (Three quirks have set that flag already.)
> > > >
> > > > So I think this shouldn't be a concern.
> > >
> > > I don't know. I would like see sth like following, and that is simple
> > > enough.
> > >
> > > --- linux-2.6.orig/arch/x86/kernel/early-quirks.c
> > > +++ linux-2.6/arch/x86/kernel/early-quirks.c
> > > @@ -755,10 +755,16 @@ static int __init check_dev_quirk(int nu
> > > return 0;
> > > }
> > >
> > > +static unsigned char __initdata scanned[256];
> > > static void __init early_pci_scan_bus(int bus)
> > > {
> > > int slot, func;
> > >
> > > + if (scanned[bus])
> > > + return;
> > > +
> > > + scanned[bus] = 1;
> > > +
> > > /* Poor man's PCI discovery */
> > > for (slot = 0; slot < 32; slot++)
> > > for (func = 0; func < 8; func++) {
> >
> > Ok, I removed the fix from tip:x86/urgent from the time being - could you
> > guys please send a full version once a final approach is agreed upon?
>
> IMHO the above patch to prevent double scanning isn't needed
> and less code is usually better. So my suggestion would be the
> patch as originally sent plus the delta fix I sent yesterday,
> either squashed or applied separately.
>
> Since Yinghai Lu seems to disagree I guess you as the maintainer
> will have to make a decision. :-)

So I'd lean towards lower complexity, but since this is essentially PCI code I'd
like to defer to Bjorn on that detail.

Thanks,

Ingo