Messages in this thread | | | Date | Mon, 1 Sep 2008 10:53:04 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: Linux 2.6.27-rc5: System boot regression caused by commit a2bd7274b47124d2fc4dfdb8c0591f545ba749dd |
| |
On Sun, 31 Aug 2008, Yinghai Lu wrote: > > how about > > > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index cce2f4c..3b5269a 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -240,6 +240,11 @@ static int __pci_read_base(struct pci_dev *dev, > enum pci_bar_type type, > pci_read_config_dword(dev, pos, &l); > pci_write_config_dword(dev, pos, mask); > pci_read_config_dword(dev, pos, &sz); > + > + /* sticky and non changable */ > + if (sz == l) > + goto fail;
No, because a resource really _can_ be at the end. It's perfectly ok to have something like a memory resource at 0xff000000-0xffffffff, and then the BAR register would always read 0xff000000 (or 0x...4 for a 64-bit resource).
So calling that a failure case would be wrong.
Linus
| |