diff options
| -rw-r--r-- | drivers/pci/pci.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 36cc8d5ae8b2..7a92d81c28e0 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
| @@ -1155,8 +1155,14 @@ static void pci_enable_bridge(struct pci_dev *dev) | |||
| 1155 | 1155 | ||
| 1156 | pci_enable_bridge(dev->bus->self); | 1156 | pci_enable_bridge(dev->bus->self); |
| 1157 | 1157 | ||
| 1158 | if (pci_is_enabled(dev)) | 1158 | if (pci_is_enabled(dev)) { |
| 1159 | if (!dev->is_busmaster) { | ||
| 1160 | dev_warn(&dev->dev, "driver skip pci_set_master, fix it!\n"); | ||
| 1161 | pci_set_master(dev); | ||
| 1162 | } | ||
| 1159 | return; | 1163 | return; |
| 1164 | } | ||
| 1165 | |||
| 1160 | retval = pci_enable_device(dev); | 1166 | retval = pci_enable_device(dev); |
| 1161 | if (retval) | 1167 | if (retval) |
| 1162 | dev_err(&dev->dev, "Error enabling bridge (%d), continuing\n", | 1168 | dev_err(&dev->dev, "Error enabling bridge (%d), continuing\n", |
