lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 4 Feb 2008 13:41:36 -0700
From:	Bjorn Helgaas <bjorn.helgaas@...com>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Robert Hancock <hancockr@...w.ca>,
	Andrew Morton <akpm@...ux-foundation.org>, avuton@...il.com,
	yakui.zhao@...el.com, shaohua.li@...el.com, trenn@...e.de,
	linux-kernel@...r.kernel.org, alsa-devel@...a-project.org
Subject: Re: a7839e96 (PNP: increase max resources) breaks my ALSA intel8x0 sound card

On Monday 04 February 2008 11:18:09 am Linus Torvalds wrote:
> On Mon, 4 Feb 2008, Bjorn Helgaas wrote:
> > 
> > I think the problem here is that the PCI BAR is bigger and spans the
> > region reported by ACPI:
> 
> Ok, then it doesn't help that it's not busy.
> 
> In that case, the only real fix is to simply do the ACPI reservations 
> *after* PCI probing. Which is what it should have done to begin with.

I'm sure you're right, but I don't understand why yet.  Here's what
I think is happening; please correct me where I'm going wrong:

  1) enumerate PNP & ACPI devices
  2) initialize PNP & ACPI drivers
     2a) register ACPI PCI root bridge driver, which enumerates PCI
         devices behind the bridge
     2b) register PNP system driver and reserve resources (this is
         where the current quirk skips some reservations)
  3) initialize PCI drivers
     3a) register intel8x0 sound driver and reserve conflicting
         resources

> > I really don't want to use the earlier quirk that scanned PCI devices
> > from a PNP quirk.  I think that's just wrong because PNP (which
> > conceptually includes ACPI) is what tells us about PCI root bridges.
> 
> So? Do the bridge listing separately from resource marking. Why tie the 
> two together? They have absolutely *nothing* to do with each other.
> 
> The fact is, scanning devices should happen first. And AFTER the device 
> tree is scanned, we can then safely add all the special resources that 
> don't show up as normal devices.

I think you're suggesting that we should do 2a first, to enumerate all
PCI devices, and only later do 2b.  But I don't know how to accomplish
that cleanly.

It does happen in that order today, but only because the ACPI drivers
are registered before the PNP drivers.  I think that's an artificial
distinction, so I don't want to rely on it.  If the PCI bridge driver
became a PNP driver, we could use link ordering to make sure it still
came first, although that seems a little fragile to me.

Bjorn
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ