mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 02:05:33 +00:00
PCI: limit pci_get_bus_and_slot to domain 0
Limit pci_get_bus_and_slot() to domain (segment) 0 since domain is not specified in the function call and defaulting to domain 0 is the only reasonable thing to do (rather than returning a device from some other unknown domain). Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Acked-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
0bbd6424c5
commit
5463d9f0f3
@ -139,12 +139,14 @@ struct pci_dev * pci_get_slot(struct pci_bus *bus, unsigned int devfn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pci_get_bus_and_slot - locate PCI device from a given PCI slot
|
* pci_get_bus_and_slot - locate PCI device from a given PCI bus & slot
|
||||||
* @bus: number of PCI bus on which desired PCI device resides
|
* @bus: number of PCI bus on which desired PCI device resides
|
||||||
* @devfn: encodes number of PCI slot in which the desired PCI
|
* @devfn: encodes number of PCI slot in which the desired PCI
|
||||||
* device resides and the logical device number within that slot
|
* device resides and the logical device number within that slot
|
||||||
* in case of multi-function devices.
|
* in case of multi-function devices.
|
||||||
*
|
*
|
||||||
|
* Note: the bus/slot search is limited to PCI domain (segment) 0.
|
||||||
|
*
|
||||||
* Given a PCI bus and slot/function number, the desired PCI device
|
* Given a PCI bus and slot/function number, the desired PCI device
|
||||||
* is located in system global list of PCI devices. If the device
|
* is located in system global list of PCI devices. If the device
|
||||||
* is found, a pointer to its data structure is returned. If no
|
* is found, a pointer to its data structure is returned. If no
|
||||||
@ -157,7 +159,8 @@ struct pci_dev * pci_get_bus_and_slot(unsigned int bus, unsigned int devfn)
|
|||||||
struct pci_dev *dev = NULL;
|
struct pci_dev *dev = NULL;
|
||||||
|
|
||||||
while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
|
while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
|
||||||
if (dev->bus->number == bus && dev->devfn == devfn)
|
if (pci_domain_nr(dev->bus) == 0 &&
|
||||||
|
(dev->bus->number == bus && dev->devfn == devfn))
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user