]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bnxt_en: Fix possible BUG() condition when calling pci_disable_msix().
authorMichael Chan <michael.chan@broadcom.com>
Wed, 22 May 2019 23:12:55 +0000 (19:12 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Jun 2019 06:01:29 +0000 (08:01 +0200)
commita49d1ccac97429e8864149ea7423c5f66ffa8b98
treeb0da27f1fe3030d8a31a52dfadef16e794f35749
parentd8a645c42eb57fa2890bf8bdc42cec64d7756c19
bnxt_en: Fix possible BUG() condition when calling pci_disable_msix().

[ Upstream commit 1b3f0b75c39f534278a895c117282014e9d0ae1f ]

When making configuration changes, the driver calls bnxt_close_nic()
and then bnxt_open_nic() for the changes to take effect.  A parameter
irq_re_init is passed to the call sequence to indicate if IRQ
should be re-initialized.  This irq_re_init parameter needs to
be included in the bnxt_reserve_rings() call.  bnxt_reserve_rings()
can only call pci_disable_msix() if the irq_re_init parameter is
true, otherwise it may hit BUG() because some IRQs may not have been
freed yet.

Fixes: 41e8d7983752 ("bnxt_en: Modify the ring reservation functions for 57500 series chips.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c