[dpdk-dev] [PATCH] bus/pci: fix mapping of PCI resources

alvinx.zhang at intel.com alvinx.zhang at intel.com
Mon Sep 28 08:34:29 CEST 2020


From: Alvin Zhang <alvinx.zhang at intel.com>

When mapping PCI bar resources around the MSI-X table, if the size
of the first part is 0, the second part should also be mapped if
its size is not 0.

Fixes: e200535c1ca3 ("mem: drop mapping API workaround")
Cc: stable at dpdk.org

Signed-off-by: Alvin Zhang <alvinx.zhang at intel.com>
---
 drivers/bus/pci/linux/pci_vfio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
index 34b5da8..37bfda8 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -565,7 +565,7 @@
 		}
 
 		/* if there's a second part, try to map it */
-		if (map_addr != NULL
+		if ((map_addr != NULL || memreg[0].size == 0)
 			&& memreg[1].offset && memreg[1].size) {
 			void *second_addr = RTE_PTR_ADD(bar_addr,
 						(uintptr_t)(memreg[1].offset -
-- 
1.8.3.1



More information about the dev mailing list