On Thu, 15 Jul 2010 09:41:42 -0600 Bjorn Helgaas <bjorn.helgaas@xxxxxx> wrote: > > If we fail to assign resources to a PCI BAR, this patch makes us try > the original address from BIOS rather than leaving it disabled. > > Linux tries to make sure all PCI device BARs are inside the upstream > PCI host bridge or P2P bridge apertures, reassigning BARs if > necessary. Windows does similar reassignment. > > Before this patch, if we could not move a BAR into an aperture, we > left the resource unassigned, i.e., at address zero. Windows leaves > such BARs at the original BIOS addresses, and this patch makes Linux > do the same. > > This is a bit ugly because we disable the resource long before we try > to reassign it, so we have to keep track of the BIOS BAR address > somewhere. For lack of a better place, I put it in the struct pci_dev. > > I think it would be cleaner to attempt the assignment immediately > when the claim fails, so we could easily remember the original > address. But we currently claim motherboard resources in the middle, > after attempting to claim PCI resources and before assigning new PCI > resources, and changing that is a fairly big job. > > Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16263 > > Reported-by: Andrew <nitr0@xxxxxxxxxx> > Tested-by: Andrew <nitr0@xxxxxxxxxx> > Signed-off-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx> > --- Nice, I'll see if Linus will take this before 2.6.35 comes out. Jesse -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html