aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYu Zhao <yu.zhao@intel.com>2009-06-26 02:04:46 -0400
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-06-29 15:13:13 -0400
commit654b75e044119bf8e7d773bce41ea039281bbfbe (patch)
tree5c749390a41cbbd59617d5dd1cee5160392b5feb
parent977badb2f385db14d8ba3fcf02fbd7ead8e63d0f (diff)
PCI: check if bus has a proper bridge device before triggering SBR
For devices attached to the root bus, we can't trigger Secondary Bus Reset because there is no bridge device associated with the bus. So need to check bus->self again NULL first before using it. Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Yu Zhao <yu.zhao@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
-rw-r--r--drivers/pci/pci.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 6c93af5ced18..d5d6f5667d83 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -2171,7 +2171,7 @@ static int pci_parent_bus_reset(struct pci_dev *dev, int probe)
2171 u16 ctrl; 2171 u16 ctrl;
2172 struct pci_dev *pdev; 2172 struct pci_dev *pdev;
2173 2173
2174 if (dev->subordinate) 2174 if (pci_is_root_bus(dev->bus) || dev->subordinate || !dev->bus->self)
2175 return -ENOTTY; 2175 return -ENOTTY;
2176 2176
2177 list_for_each_entry(pdev, &dev->bus->devices, bus_list) 2177 list_for_each_entry(pdev, &dev->bus->devices, bus_list)