diff --git a/drivers/pci/controller/pci-loongson.c b/drivers/pci/controller/pci-loongson.c index 7fd53b8a567edd6c6ac2f7d65e3962600ca028e4..26a0b3268766f6455e08c5988a3f2180042e12f0 100644 --- a/drivers/pci/controller/pci-loongson.c +++ b/drivers/pci/controller/pci-loongson.c @@ -115,23 +115,6 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_PCIE_PORT_2, loongson_mrrs_quirk); -static void loongson_bmaster_quirk(struct pci_dev *pdev) -{ - /* - * Some Loongson PCIe ports will cause CPU deadlock if disable - * the Bus Master bit during poweroff/reboot. - */ - struct pci_host_bridge *bridge = pci_find_host_bridge(pdev->bus); - - bridge->no_dis_bmaster = 1; -} -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, - DEV_PCIE_PORT_0, loongson_bmaster_quirk); -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, - DEV_PCIE_PORT_1, loongson_bmaster_quirk); -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, - DEV_PCIE_PORT_2, loongson_bmaster_quirk); - static void loongson_pci_pin_quirk(struct pci_dev *pdev) { pdev->pin = 1 + (PCI_FUNC(pdev->devfn) & 3); diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c index 3ded5fe5f2cd44779b7a96f92beac917e60cad89..8d282cdcb5f8c341f306c49de1faa7182aebb95a 100644 --- a/drivers/pci/pcie/portdrv_pci.c +++ b/drivers/pci/pcie/portdrv_pci.c @@ -154,8 +154,6 @@ static void pcie_portdrv_remove(struct pci_dev *dev) static void pcie_portdrv_shutdown(struct pci_dev *dev) { - struct pci_host_bridge *bridge = pci_find_host_bridge(dev->bus); - if (pci_bridge_d3_possible(dev)) { pm_runtime_forbid(&dev->dev); pm_runtime_get_noresume(&dev->dev); @@ -163,9 +161,6 @@ static void pcie_portdrv_shutdown(struct pci_dev *dev) } pcie_port_device_remove(dev); - - if (!bridge->no_dis_bmaster) - pci_disable_device(dev); } static pci_ers_result_t pcie_portdrv_error_detected(struct pci_dev *dev, diff --git a/include/linux/pci.h b/include/linux/pci.h index 46de0ade5c69272215b4ba4ded80f817c919567f..c05a2cc63c8a1be95b0eb31cecaa1b38fe4cd09a 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -575,7 +575,6 @@ struct pci_host_bridge { unsigned int ignore_reset_delay:1; /* For entire hierarchy */ unsigned int no_ext_tags:1; /* No Extended Tags */ unsigned int no_inc_mrrs:1; /* No Increase MRRS */ - unsigned int no_dis_bmaster:1; /* No Disable Bus Master */ unsigned int native_aer:1; /* OS may use PCIe AER */ unsigned int native_pcie_hotplug:1; /* OS may use PCIe hotplug */ unsigned int native_shpc_hotplug:1; /* OS may use SHPC hotplug */