]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tg3: power down device only on SYSTEM_POWER_OFF
authorGeorge Shuklin <george.shuklin@gmail.com>
Fri, 3 Nov 2023 11:50:29 +0000 (13:50 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:36 +0000 (11:59 +0100)
[ Upstream commit 9fc3bc7643341dc5be7d269f3d3dbe441d8d7ac3 ]

Dell R650xs servers hangs on reboot if tg3 driver calls
tg3_power_down.

This happens only if network adapters (BCM5720 for R650xs) were
initialized using SNP (e.g. by booting ipxe.efi).

The actual problem is on Dell side, but this fix allows servers
to come back alive after reboot.

Signed-off-by: George Shuklin <george.shuklin@gmail.com>
Fixes: 2ca1c94ce0b6 ("tg3: Disable tg3 device on system reboot to avoid triggering AER")
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://lore.kernel.org/r/20231103115029.83273-1-george.shuklin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/tg3.c

index 14b311196b8f8547b589a2e9e7a5afe789eaee7a..22b00912f7ac831bc8539da137a6c6544e0d2fc9 100644 (file)
@@ -18078,7 +18078,8 @@ static void tg3_shutdown(struct pci_dev *pdev)
        if (netif_running(dev))
                dev_close(dev);
 
-       tg3_power_down(tp);
+       if (system_state == SYSTEM_POWER_OFF)
+               tg3_power_down(tp);
 
        rtnl_unlock();