[PATCH] pci: Omit error message for benign allocation failure

Jun'ichi Nomura
2007-12-04T19:36:14Z

Hi,

On a system with PCI-to-PCI bridges, following errors are observed:

PCI: Failed to allocate mem resource #8:100000@d8200000 for 0000:02:00.0
PCI: Failed to allocate mem resource #6:10000@0 for 0000:03:01.0

'#6' is for expansion ROM and '#8' for the bridge where the device
with the expansion ROM is connected.
But I think the failure is benign because the allocation is
not necessary for these resources.

The allocation failure message is informative when the failure
is really a problem and needs a diagnosis.
However, if the resource is expansion ROMs, the message is just
confusing.

This patch omits the error message if the resource is an expansion
ROM or a bridge.

Thanks,
--
Jun'ichi Nomura, NEC Corporation of America

Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>

--- linux-2.6.24-rc3/drivers/pci/setup-res.c.orig 2007-12-04 00:24:11.000000000 -0500
+++ linux-2.6.24-rc3/drivers/pci/setup-res.c 2007-12-04 00:42:14.000000000 -0500
@@ -158,11 +158,12 @@ int pci_assign_resource(struct pci_dev *
}

if (ret) {
- printk(KERN_ERR "PCI: Failed to allocate %s resource "
- "#%d:%llx@%llx for %s\n",
- res->flags & IORESOURCE_IO ? "I/O" : "mem",
- resno, (unsigned long long)size,
- (unsigned long long)res->start, pci_name(dev));
+ if (resno < PCI_ROM_RESOURCE)
+ printk(KERN_ERR "PCI: Failed to allocate %s resource "
+ "#%d:%llx@%llx for %s\n",
+ res->flags & IORESOURCE_IO ? "I/O" : "mem",
+ resno, (unsigned long long)size,
+ (unsigned long long)res->start, pci_name(dev));
} else if (resno < PCI_BRIDGE_RESOURCES) {
pci_update_resource(dev, res, resno);
}