Messages in this thread | | | Date | Wed, 16 Nov 2005 17:05:35 -0800 | From | Greg KH <> | Subject | Re: PCI: remove bogus resource collision error |
| |
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 <rajesh.shah@intel.com> > > 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |