Subject: Re: [PATCH net-next] net/mlx4_core: Test interrupts fail if not all comp vectors called request_irq

From: Or Gerlitz <[email-masked]>
Date: Sun, 4 Oct 2015 11:03:18 +0300

On 9/29/2015 9:38 PM, [email-masked] wrote:
> From: Carol L Soto <[email-masked]>
>
> Test interrupts fails if not all completion vectors called
> request_irq. This case can happen if only mlx4_en loads and
> we have more completion vectors than rx rings.

good catch! is this a bug since the driver 0-day or was introduced by
some recent commit? in the latercase, please add a Fixes: tag before 
your S.O.B note.
>
> Signed-off-by: Carol L Soto <[email-masked]>
> ---
>   drivers/net/ethernet/mellanox/mlx4/eq.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx4/eq.c b/drivers/net/ethernet/mellanox/mlx4/eq.c
> index 8e81e53..c344884 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/eq.c
> +++ b/drivers/net/ethernet/mellanox/mlx4/eq.c
> @@ -1364,6 +1364,10 @@ int mlx4_test_interrupts(struct mlx4_dev *dev)
>   	 * and performing a NOP command
>   	 */
>   	for(i = 0; !err && (i < dev->caps.num_comp_vectors); ++i) {
> +		/* Make sure request_irq was called */
> +		if (!priv->eq_table.eq[i].have_irq)
> +			continue;
> +
>   		/* Temporary use polling for command completions */
>   		mlx4_cmd_use_polling(dev);
>