Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd34bb40 authored by Sinan Kaya's avatar Sinan Kaya Committed by Bjorn Helgaas
Browse files

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: default avatarSinan Kaya <okaya@codeaurora.org>
Signed-off-by: default avatarBjorn Helgaas <helgaas@kernel.org>
Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
parent 39c94652
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);