summaryrefslogtreecommitdiffstats
path: root/drivers/pci/hotplug/cpqphp_core.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-06-11 14:15:44 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-06-11 14:15:44 -0700
commiteda054770e5cd0e9ee1568dfcbcf39f9ade4f545 (patch)
tree60d29e2a3b095e9d14657cc6e02daba0a1b5f63d /drivers/pci/hotplug/cpqphp_core.c
parent891a9894ee2e17646b29117635d2c7adfb58ce60 (diff)
parent837c4ef13c44296bb763a0ca0e84a076592474cf (diff)
downloadlinux-eda054770e5cd0e9ee1568dfcbcf39f9ade4f545.tar.gz
linux-eda054770e5cd0e9ee1568dfcbcf39f9ade4f545.tar.bz2
linux-eda054770e5cd0e9ee1568dfcbcf39f9ade4f545.zip
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: clear bridge resource range if BIOS assigned bad one PCI: hotplug/cpqphp, fix NULL dereference Revert "PCI: create function symlinks in /sys/bus/pci/slots/N/" PCI: change resource collision messages from KERN_ERR to KERN_INFO
Diffstat (limited to 'drivers/pci/hotplug/cpqphp_core.c')
-rw-r--r--drivers/pci/hotplug/cpqphp_core.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/pci/hotplug/cpqphp_core.c b/drivers/pci/hotplug/cpqphp_core.c
index b3e5580c837b..4952c3b9379d 100644
--- a/drivers/pci/hotplug/cpqphp_core.c
+++ b/drivers/pci/hotplug/cpqphp_core.c
@@ -828,7 +828,14 @@ static int cpqhpc_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
pci_name(pdev), err);
return err;
}
+
bus = pdev->subordinate;
+ if (!bus) {
+ dev_notice(&pdev->dev, "the device is not a bridge, "
+ "skipping\n");
+ rc = -ENODEV;
+ goto err_disable_device;
+ }
/* Need to read VID early b/c it's used to differentiate CPQ and INTC
* discovery