2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-22 20:23:57 +08:00
linux-next/drivers/net/ethernet/broadcom
Guilherme G. Piccoli f7084059a9 bnx2x: Improve reliability in case of nested PCI errors
While in recovery process of PCI error (called EEH on PowerPC arch),
another PCI transaction could be corrupted causing a situation of
nested PCI errors. Also, this scenario could be reproduced with
error injection mechanisms (for debug purposes).

We observe that in case of nested PCI errors, bnx2x might attempt to
initialize its shmem and cause a kernel crash due to bad addresses
read from MCP. Multiple different stack traces were observed depending
on the point the second PCI error happens.

This patch avoids the crashes by:

 * failing PCI recovery in case of nested errors (since multiple
 PCI errors in a row are not expected to lead to a functional
 adapter anyway), and by,

 * preventing access to adapter FW when MCP is failed (we mark it as
 failed when shmem cannot get initialized properly).

Reported-by: Abdul Haleem <abdhalee@linux.vnet.ibm.com>
Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Acked-by: Shahed Shaikh <Shahed.Shaikh@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-12-27 12:13:32 -05:00
..
bnx2x bnx2x: Improve reliability in case of nested PCI errors 2017-12-27 12:13:32 -05:00
bnxt bnxt_en: Fix sources of spurious netpoll warnings 2017-12-08 14:07:19 -05:00
genet net: bcmgenet: Avoid calling platform_device_put() twice in bcmgenet_mii_exit() 2017-11-01 11:56:14 +09:00
b44.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08: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 ethernet/broadcom: Convert timers to use timer_setup() 2017-10-18 12:39:37 +01:00
bcm63xx_enet.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
bcmsysport.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
bcmsysport.h net: systemport: Only inspect valid switch port & queues 2017-11-02 16:49:28 +09: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: bgmac: enable master mode for BCM54210E and B50212E PHYs 2017-10-12 22:59:38 -07:00
bgmac-platform.c net: ethernet: bgmac: mark expected switch fall-through 2017-11-11 18:49:26 +09:00
bgmac.c net: bgmac: Pad packets to a minimum size 2017-11-11 21:55:15 +09:00
bgmac.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bnx2_fw.h bnx2-cnic: Driver Rebranding Changes 2015-02-20 15:46:49 -05:00
bnx2.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
bnx2.h ethernet/broadcom: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
cnic_defs.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
cnic_if.h cnic: Add the interfaces to get FC-NPIV table. 2015-08-06 21:54:12 -07:00
cnic.c cnic: Fix an error handling path in 'cnic_alloc_bnx2x_resc()' 2017-09-23 17:04:27 -07:00
cnic.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
Kconfig net: systemport: add NET_DSA dependency 2017-10-16 21:21:05 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sb1250-mac.c net: ethernet: broadcom: Remove null check before kfree 2017-08-28 15:53:23 -07:00
tg3.c tg3: Enable PHY reset in MTU change path for 5720 2017-12-27 11:09:06 -05:00
tg3.h tg3: Add workaround to restrict 5762 MRRS to 2048 2017-12-27 11:08:56 -05:00