summaryrefslogtreecommitdiff
path: root/arch/s390/pci/pci_bus.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/pci/pci_bus.h')
-rw-r--r--arch/s390/pci/pci_bus.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/pci/pci_bus.h b/arch/s390/pci/pci_bus.h
index c6aff42cc2cf..89be3c354b7b 100644
--- a/arch/s390/pci/pci_bus.h
+++ b/arch/s390/pci/pci_bus.h
@@ -22,9 +22,10 @@ void zpci_free_domain(int domain);
int zpci_setup_bus_resources(struct zpci_dev *zdev,
struct list_head *resources);
-static inline struct zpci_dev *get_zdev_by_bus(struct pci_bus *bus)
+static inline struct zpci_dev *get_zdev_by_bus(struct pci_bus *bus,
+ unsigned int devfn)
{
struct zpci_bus *zbus = bus->sysdata;
- return zbus->function[ZPCI_DEVFN];
+ return (devfn >= ZPCI_FUNCTIONS_PER_BUS) ? NULL : zbus->function[devfn];
}