X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fpci%2Fpci.c;h=bdd64b1b4817f7223fa31db19a118db5a9caaaa5;hb=42249094f79422fbf5ed4b54eeb48ff096809b8f;hp=e8ccf6c0f08a3d4d5a9b03aec428efddcba77c6f;hpb=e0ea4045bce3cee84e35746fb98946ca36781248;p=~andy%2Flinux diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index e8ccf6c0f08..bdd64b1b481 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -1155,8 +1155,14 @@ static void pci_enable_bridge(struct pci_dev *dev) pci_enable_bridge(dev->bus->self); - if (pci_is_enabled(dev)) + if (pci_is_enabled(dev)) { + if (!dev->is_busmaster) { + dev_warn(&dev->dev, "driver skip pci_set_master, fix it!\n"); + pci_set_master(dev); + } return; + } + retval = pci_enable_device(dev); if (retval) dev_err(&dev->dev, "Error enabling bridge (%d), continuing\n",