diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index e6cb96a1171fe28cea7c1c55b1205fca60e44e62..ba56b9d9c765c3b4e34a4258cc98ffba4290f0c1 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -69,7 +69,7 @@ static struct airq_struct zpci_airq = {
 };
 
 #define ZPCI_IOMAP_ENTRIES						\
-	min(((unsigned long) CONFIG_PCI_NR_FUNCTIONS * PCI_BAR_COUNT),	\
+	min(((unsigned long) ZPCI_NR_DEVICES * PCI_BAR_COUNT / 2),	\
 	    ZPCI_IOMAP_MAX_ENTRIES)
 
 static DEFINE_SPINLOCK(zpci_iomap_lock);