The max number of interrupt request is possible be changed after rte_intr_callback_register, so in get_max_intr, we need to check if nessesary to update the max_intr.
Signed-off-by: Qi Zhang <qi.z.zh...@intel.com> --- lib/librte_eal/linuxapp/eal/eal_interrupts.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c b/lib/librte_eal/linuxapp/eal/eal_interrupts.c index b5b3f2b..92a19cb 100644 --- a/lib/librte_eal/linuxapp/eal/eal_interrupts.c +++ b/lib/librte_eal/linuxapp/eal/eal_interrupts.c @@ -287,6 +287,8 @@ get_max_intr(const struct rte_intr_handle *intr_handle) if (src->intr_handle.fd != intr_handle->fd) continue; + if (src->intr_handle.max_intr < intr_handle->max_intr) + src->intr_handle.max_intr = intr_handle->max_intr; if (!src->intr_handle.max_intr) src->intr_handle.max_intr = 1; else if (src->intr_handle.max_intr > RTE_MAX_RXTX_INTR_VEC_ID) -- 2.7.4