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

From: Lukas Wunner
Date: Fri Jun 10 2016 - 08:12:46 EST


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. :-)

Thanks,

Lukas