From: Wei Huang <wei.hu...@intel.com>

Handle unsupported interrupt type requests properly,
on unsupported interrupt case:
'ifpga_unregister_msix_irq()' returns success,
'ifpga_register_msix_irq()' return failure.

Fixes: e0a1aafe ("raw/ifpga: introduce IRQ functions")
Cc: sta...@dpdk.org

Signed-off-by: Wei Huang <wei.hu...@intel.com>
Signed-off-by: Tianfei zhang <tianfei.zh...@intel.com>
---
 drivers/raw/ifpga/ifpga_rawdev.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c
index 76b0f8a5b..374a7ff1d 100644
--- a/drivers/raw/ifpga/ifpga_rawdev.c
+++ b/drivers/raw/ifpga/ifpga_rawdev.c
@@ -1343,6 +1343,8 @@ ifpga_unregister_msix_irq(enum ifpga_irq_type type,
                intr_handle = &ifpga_irq_handle[0];
        else if (type == IFPGA_AFU_IRQ)
                intr_handle = &ifpga_irq_handle[vec_start + 1];
+       else
+               return 0;
 
        rte_intr_efd_disable(intr_handle);
 
@@ -1372,8 +1374,11 @@ ifpga_register_msix_irq(struct rte_rawdev *dev, int 
port_id,
        if (type == IFPGA_FME_IRQ) {
                intr_handle = &ifpga_irq_handle[0];
                count = 1;
-       } else if (type == IFPGA_AFU_IRQ)
+       } else if (type == IFPGA_AFU_IRQ) {
                intr_handle = &ifpga_irq_handle[vec_start + 1];
+       } else {
+               return -EINVAL;
+       }
 
        intr_handle->type = RTE_INTR_HANDLE_VFIO_MSIX;
 
-- 
2.17.1

Reply via email to