diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c index 31063ac..1ee6f16 100644 --- a/drivers/pci/pcie/portdrv_core.c +++ b/drivers/pci/pcie/portdrv_core.c @@ -362,16 +362,16 @@ int pcie_port_device_register(struct pci_dev *dev) int status, capabilities, i, nr_service; int irqs[PCIE_PORT_DEVICE_MAXSERVICES]; - /* Enable PCI Express port device */ - status = pci_enable_device(dev); - if (status) - return status; - /* Get and check PCI Express port services */ capabilities = get_port_device_capability(dev); if (!capabilities) return 0; + /* Enable PCI Express port device */ + status = pci_enable_device(dev); + if (status) + return status; + pci_set_master(dev); /* * Initialize service irqs. Don't use service devices that