From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matan Barak Subject: Re: [PATCH net-next] net/mlx4_core: Test interrupts fail if not all comp vectors called request_irq Date: Tue, 6 Oct 2015 10:28:03 +0300 Message-ID: <56137803.4070308@mellanox.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: Or Gerlitz , David Miller , Linux Netdev List , , "Amir Vadai" To: Or Gerlitz , Carol Soto Return-path: Received: from mail-db3on0077.outbound.protection.outlook.com ([157.55.234.77]:29696 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751552AbbJFHm0 (ORCPT ); Tue, 6 Oct 2015 03:42:26 -0400 In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On 10/5/2015 11:12 PM, Or Gerlitz wrote: > On Mon, Oct 5, 2015 at 6:24 PM, Carol Soto wrote: >> >> >> On 10/4/2015 3:03 AM, Or Gerlitz wrote: >>> >>> On 9/29/2015 9:38 PM, clsoto@linux.vnet.ibm.com wrote: >>>> >>>> From: Carol L Soto >>>> >>>> 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. >> >> Probably the issue was introduced by this one >> Fixes: c66fa19c405a ('net/mlx4: Add EQ pool') > > Matan, agree to the fix and analysis? if yes, Carol, please add the > Fixes: tag to the change-log > and anyway respin/submit the patch against/for net not net-next > Yeah, we should (obviously) only check EQs which are assigned to interrupts, so skipping unassigned EQs is a good idea. Good catch and thanks for the fix. Matan > Or. > >> >>>> >>>> Signed-off-by: Carol L Soto >>>> --- >>>> 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); >>> >>> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe netdev" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html