]> git.proxmox.com Git - mirror_ubuntu-eoan-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)
commit5e66e35aab335b83d9ffb220d8a3a13986a7a60e
tree09ea2002d07c2e8954c75fedbf95c4034b6cb654
parentda0e51716646b8ca2aa91a98463778f4fe526dcd
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: 697197e5a173 ("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