[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <56137803.4070308@mellanox.com>
Date: Tue, 6 Oct 2015 10:28:03 +0300
From: Matan Barak <matanb@...lanox.com>
To: Or Gerlitz <gerlitz.or@...il.com>,
Carol Soto <clsoto@...ux.vnet.ibm.com>
CC: Or Gerlitz <ogerlitz@...lanox.com>,
David Miller <davem@...emloft.net>,
Linux Netdev List <netdev@...r.kernel.org>,
<brking@...ux.vnet.ibm.com>, "Amir Vadai" <amirv@...lanox.com>
Subject: Re: [PATCH net-next] net/mlx4_core: Test interrupts fail if not all
comp vectors called request_irq
On 10/5/2015 11:12 PM, Or Gerlitz wrote:
> On Mon, Oct 5, 2015 at 6:24 PM, Carol Soto <clsoto@...ux.vnet.ibm.com> wrote:
>>
>>
>> On 10/4/2015 3:03 AM, Or Gerlitz wrote:
>>>
>>> On 9/29/2015 9:38 PM, clsoto@...ux.vnet.ibm.com wrote:
>>>>
>>>> From: Carol L Soto <clsoto@...ux.vnet.ibm.com>
>>>>
>>>> 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 <clsoto@...ux.vnet.ibm.com>
>>>> ---
>>>> 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@...r.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists