Re: Linux 2.6.27-rc5: System boot regression caused by commita2bd7274b47124d2fc4dfdb8c0591f545ba749dd

From: Linus Torvalds
Date: Mon Sep 01 2008 - 13:54:45 EST




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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/