[v2] net/iavf: fix multi-queue Rx interrupt for VF
Checks
Commit Message
The original issue was that the last queue could not
be mapped to the interrupt vector, so the last queue
could not receive the package in the interrupt mode.
This patch fixes the issue.
Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt")
Cc: stable@dpdk.org
Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
---
drivers/net/iavf/iavf_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of lunyuan.cui
> Sent: Friday, September 6, 2019 7:48 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Cui, LunyuanX
> <lunyuanx.cui@intel.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH v2] net/iavf: fix multi-queue Rx interrupt for VF
>
> The original issue was that the last queue could not be mapped to the
> interrupt vector, so the last queue could not receive the package in the
> interrupt mode.
> This patch fixes the issue.
>
> Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt")
> Cc: stable@dpdk.org
>
> Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
> ---
> drivers/net/iavf/iavf_ethdev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
> index 8f3907378..6559bfa1f 100644
> --- a/drivers/net/iavf/iavf_ethdev.c
> +++ b/drivers/net/iavf/iavf_ethdev.c
> @@ -360,7 +360,7 @@ static int iavf_config_rx_queues_irqs(struct
> rte_eth_dev *dev,
> for (i = 0; i < dev->data->nb_rx_queues; i++) {
> vf->rxq_map[vec] |= 1 << i;
> intr_handle->intr_vec[i] = vec++;
> - if (vec >= vf->nb_msix)
> + if (vec > vf->nb_msix)
> vec = IAVF_RX_VEC_START;
> }
> PMD_DRV_LOG(DEBUG,
> --
> 2.17.1
Acked-by: Qiming Yang <qiming.yang@intel.com>
@@ -360,7 +360,7 @@ static int iavf_config_rx_queues_irqs(struct rte_eth_dev *dev,
for (i = 0; i < dev->data->nb_rx_queues; i++) {
vf->rxq_map[vec] |= 1 << i;
intr_handle->intr_vec[i] = vec++;
- if (vec >= vf->nb_msix)
+ if (vec > vf->nb_msix)
vec = IAVF_RX_VEC_START;
}
PMD_DRV_LOG(DEBUG,