]> git.baikalelectronics.ru Git - kernel.git/commit
bnxt_en: Disable interrupts when allocating CP rings or NQs.
authorMichael Chan <michael.chan@broadcom.com>
Thu, 31 Jan 2019 19:31:48 +0000 (14:31 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 31 Jan 2019 20:55:28 +0000 (12:55 -0800)
commit4ef7fa227f1f3f4e389e5f067960a9d82717537a
tree09ea2002d07c2e8954c75fedbf95c4034b6cb654
parent769992b5d9dcf1217244f6d89e45c1b24d934a84
bnxt_en: Disable interrupts when allocating CP rings or NQs.

When calling firmware to allocate a CP ring or NQ, an interrupt associated
with that ring may be generated immediately before the doorbell is even
setup after the firmware call returns.  When servicing the interrupt, the
driver may crash when trying to access the doorbell.

Fix it by disabling interrupt on that vector until the doorbell is
set up.

Fixes: 6be0fb4c6202 ("bnxt_en: Re-structure doorbells.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c