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>
This commit is contained in:
parent
39c9465204
commit
dd34bb4041
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user