mirror-linux/drivers/net/ethernet/broadcom
Lenny Szubowicz e0efe83ed3 tg3: Disable tg3 PCIe AER on system reboot
Disable PCIe AER on the tg3 device on system reboot on a limited
list of Dell PowerEdge systems. This prevents a fatal PCIe AER event
on the tg3 device during the ACPI _PTS (prepare to sleep) method for
S5 on those systems. The _PTS is invoked by acpi_enter_sleep_state_prep()
as part of the kernel's reboot sequence as a result of commit
38f34dba80 ("PM: ACPI: reboot: Reinstate S5 for reboot").

There was an earlier fix for this problem by commit 2ca1c94ce0
("tg3: Disable tg3 device on system reboot to avoid triggering AER").
But it was discovered that this earlier fix caused a reboot hang
when some Dell PowerEdge servers were booted via ipxe. To address
this reboot hang, the earlier fix was essentially reverted by commit
9fc3bc7643 ("tg3: power down device only on SYSTEM_POWER_OFF").
This re-exposed the tg3 PCIe AER on reboot problem.

This fix is not an ideal solution because the root cause of the AER
is in system firmware. Instead, it's a targeted work-around in the
tg3 driver.

Note also that the PCIe AER must be disabled on the tg3 device even
if the system is configured to use "firmware first" error handling.

V3:
   - Fix sparse warning on improper comparison of pdev->current_state
   - Adhere to netdev comment style

Fixes: 9fc3bc7643 ("tg3: power down device only on SYSTEM_POWER_OFF")
Signed-off-by: Lenny Szubowicz <lszubowi@redhat.com>
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2025-02-03 10:12:14 +00:00
..
asp2 net: bcm: asp2: convert to phylib managed EEE 2025-01-15 13:17:56 -08:00
bnx2x net: bnx2x: use ethtool string helpers 2024-11-06 17:50:37 -08:00
bnxt RDMA v6.14 merge window pull request 2025-01-24 12:21:28 -08:00
genet net: bcmgenet: Correct overlaying of PHY and MAC Wake-on-LAN 2025-02-01 16:53:33 -08:00
Kconfig net: broadcom: remove select MII from brcmstb Ethernet drivers 2024-10-11 16:00:17 -07:00
Makefile net: bcmasp: Add support for ASP2.0 Ethernet controller 2023-07-17 07:39:04 +01:00
b44.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
b44.h
bcm63xx_enet.c net: broadcom: use ethtool string helpers 2024-11-06 17:51:02 -08:00
bcm63xx_enet.h
bcm4908_enet.c net: ethernet: Switch back to struct platform_driver::remove() 2024-10-04 16:39:56 -07:00
bcm4908_enet.h
bcmsysport.c eth: bcmsysport: fix call balance of priv->clk handling routines 2024-12-30 17:33:46 -08:00
bcmsysport.h net: systemport: Move IO macros to header file 2024-10-28 15:54:37 -07:00
bgmac-bcma-mdio.c net: fill in MODULE_DESCRIPTION()s for Broadcom bgmac 2024-01-24 15:12:20 -08:00
bgmac-bcma.c net: fill in MODULE_DESCRIPTION()s for Broadcom bgmac 2024-01-24 15:12:20 -08:00
bgmac-platform.c net: ethernet: bgmac-platform: fix an OF node reference leak 2024-12-17 13:22:05 +01:00
bgmac.c net: broadcom: use ethtool string helpers 2024-11-06 17:51:02 -08:00
bgmac.h bgmac: reduce max frame size to support just MTU 1500 2025-01-29 18:57:42 -08:00
bnx2.c net: annotate writes on dev->mtu from ndo_change_mtu() 2024-05-07 16:19:14 -07:00
bnx2.h
bnx2_fw.h
cnic.c net: cnic: Convert tasklet API to new bottom half workqueue mechanism 2024-07-31 18:59:46 -07:00
cnic.h net: cnic: Convert tasklet API to new bottom half workqueue mechanism 2024-07-31 18:59:46 -07:00
cnic_defs.h
cnic_if.h cnic,bnx2,bnx2x: use UIO_MEM_DMA_COHERENT 2024-03-07 21:52:59 +00:00
sb1250-mac.c net: ethernet: Switch back to struct platform_driver::remove() 2024-10-04 16:39:56 -07:00
tg3.c tg3: Disable tg3 PCIe AER on system reboot 2025-02-03 10:12:14 +00:00
tg3.h tg3: Increase buffer size for IRQ label 2024-10-17 21:24:24 -05:00
unimac.h