summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSinan Kaya <okaya@codeaurora.org>2017-12-19 00:37:55 -0500
committerBjorn Helgaas <bhelgaas@google.com>2018-01-17 08:16:46 -0600
commitdd34bb4041d005fc103f866d60736135eb99ad10 (patch)
tree3c8080d444aa50965085d39ada89640d459f28ac
parent39c9465204e8f4a0617405f32290f903aa03e19c (diff)
downloadlwn-dd34bb4041d005fc103f866d60736135eb99ad10.tar.gz
lwn-dd34bb4041d005fc103f866d60736135eb99ad10.zip
xen/pcifront: Deprecate pci_get_bus_and_slot()
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as where a PCI device is present. This restricts the device drivers to be reused for other domain numbers. Use pci_get_domain_bus_and_slot() with a domain number of 0 where we can't extract the domain number. Other places, use the actual domain number from the device. Signed-off-by: Sinan Kaya <okaya@codeaurora.org> Signed-off-by: Bjorn Helgaas <helgaas@kernel.org> Reviewed-by: Juergen Gross <jgross@suse.com>
-rw-r--r--drivers/pci/xen-pcifront.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index 8fc2e9532575..94b25b552254 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -595,6 +595,7 @@ static pci_ers_result_t pcifront_common_process(int cmd,
struct pci_driver *pdrv;
int bus = pdev->sh_info->aer_op.bus;
int devfn = pdev->sh_info->aer_op.devfn;
+ int domain = pdev->sh_info->aer_op.domain;
struct pci_dev *pcidev;
int flag = 0;
@@ -603,7 +604,7 @@ static pci_ers_result_t pcifront_common_process(int cmd,
cmd, bus, devfn);
result = PCI_ERS_RESULT_NONE;
- pcidev = pci_get_bus_and_slot(bus, devfn);
+ pcidev = pci_get_domain_bus_and_slot(domain, bus, devfn);
if (!pcidev || !pcidev->driver) {
dev_err(&pdev->xdev->dev, "device or AER driver is NULL\n");
pci_dev_put(pcidev);