Re: PCI: remove bogus resource collision error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 16, 2005 at 05:06:22PM -0800, Rajesh Shah wrote:
> When attempting to hotadd a PCI card with a bridge on it, I saw
> the kernel reporting resource collision errors even when there were
> really no collisions. The problem is that the code doesn't skip
> over "invalid" resources with their resource type flag not set.
> Others have reported similar problems at boot time and for
> non-bridge PCI card hotplug too, where the code flags a
> resource collision for disabled ROMs. This patch fixes both
> problems. Please consider applying.
> 
> Signed-off-by: Rajesh Shah <[email protected]>
> 
>  arch/i386/pci/i386.c |    8 ++++++--
>  1 files changed, 6 insertions(+), 2 deletions(-)
> 
> Index: linux-2.6.15-rc1/arch/i386/pci/i386.c
> ===================================================================
> --- linux-2.6.15-rc1.orig/arch/i386/pci/i386.c
> +++ linux-2.6.15-rc1/arch/i386/pci/i386.c
> @@ -212,6 +212,7 @@ int pcibios_enable_resources(struct pci_
>  	u16 cmd, old_cmd;
>  	int idx;
>  	struct resource *r;
> +	unsigned long type_mask = IORESOURCE_IO | IORESOURCE_MEM;
>  
>  	pci_read_config_word(dev, PCI_COMMAND, &cmd);
>  	old_cmd = cmd;
> @@ -221,6 +222,11 @@ int pcibios_enable_resources(struct pci_
>  			continue;
>  
>  		r = &dev->resource[idx];
> +		if (!(r->flags & type_mask))
> +			continue;

Is the type_mask variable really needed here?  Can't we just test:
	if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
instead?

Other than that, looks good, thanks.

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux