1
0
Fork 0
alistair23-linux/drivers/net/ethernet/broadcom
Vasundhara Volam 9f5c4fac34 bnxt_en: Fix logic that disables Bus Master during firmware reset.
[ Upstream commit d407302895 ]

The current logic that calls pci_disable_device() in __bnxt_close_nic()
during firmware reset is flawed.  If firmware is still alive, we're
disabling the device too early, causing some firmware commands to
not reach the firmware.

Fix it by moving the logic to bnxt_reset_close().  If firmware is
in fatal condition, we call pci_disable_device() before we free
any of the rings to prevent DMA corruption of the freed rings.  If
firmware is still alive, we call pci_disable_device() after the
last firmware message has been sent.

Fixes: 3bc7d4a352 ("bnxt_en: Add BNXT_STATE_IN_FW_RESET state.")
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-02-11 04:35:06 -08:00
..
bnx2x bnx2x: Fix logic to get total no. of PFs per engine 2020-01-12 12:21:32 +01:00
bnxt bnxt_en: Fix logic that disables Bus Master during firmware reset. 2020-02-11 04:35:06 -08:00
genet net: bcmgenet: Use netif_tx_napi_add() for TX NAPI 2020-01-29 16:45:20 +01:00
Kconfig net: ethernet: broadcom: have drivers select DIMLIB as needed 2019-10-15 10:58:08 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
b44.c drivers/net/b44: Change to non-atomic bit operations on pwol_mask 2020-02-01 09:34:44 +00:00
b44.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bcm63xx_enet.c bcm63xx_enet: use devm_platform_ioremap_resource() to simplify code 2019-08-01 13:10:34 -04:00
bcm63xx_enet.h bcm63xx_enet: use platform device id directly for miibus name 2017-12-19 11:07:16 -05:00
bcmsysport.c net: systemport: Fixed queue mapping in internal ring map 2020-01-23 08:22:52 +01:00
bcmsysport.h Generic DIM 2019-06-27 12:42:51 -07:00
bgmac-bcma-mdio.c net: bgmac: use PHY subsystem for initializing PHY 2017-01-31 13:44:49 -05:00
bgmac-bcma.c net: ethernet: support of_get_mac_address new ERR_PTR error 2019-05-07 12:22:47 -07:00
bgmac-platform.c net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
bgmac.c net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
bgmac.h net: bgmac: Correctly annotate register space 2018-04-01 22:20:48 -04:00
bnx2.c net: broadcom: Use dev_get_drvdata 2019-07-23 13:02:41 -07:00
bnx2.h ethernet/broadcom: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
bnx2_fw.h
cnic.c cnic: Explicitly initialize all reference counts to 0. 2019-08-05 13:21:55 -07:00
cnic.h
cnic_defs.h
cnic_if.h
sb1250-mac.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
tg3.c net: reject PTP periodic output requests with unsupported flags 2019-11-15 12:48:32 -08:00
tg3.h broadcom: tg3: fix use of SPEED_UNKNOWN ethtool constant 2019-04-08 16:30:43 -07:00