In the function rte_pci_ioport_map, if uio_pci_generic is used on X86
platform, pci_ioport_map() is invoked, the operation
ev->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN; is execused directly,
it causes the wrong assignment for uio_pci_generic, the patch fixes it.

Fixes: 756ce64b1ecd ("eal: introduce PCI ioport API")
Cc: sta...@dpdk.org
Signed-off-by: Zhiyong Yang <zhiyong.y...@intel.com>
---
 drivers/bus/pci/linux/pci.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c
index 5da6728fb..8ff7dbfd7 100644
--- a/drivers/bus/pci/linux/pci.c
+++ b/drivers/bus/pci/linux/pci.c
@@ -723,7 +723,9 @@ pci_ioport_map(struct rte_pci_device *dev, int bar 
__rte_unused,
        if (!found)
                return -1;
 
-       dev->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN;
+       if (dev->kdrv == RTE_KDRV_NONE)
+               dev->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN;
+
        p->base = start;
        RTE_LOG(DEBUG, EAL, "PCI Port IO found start=0x%x\n", start);
 
-- 
2.13.3

Reply via email to