Package: linux-image-6.1.55-1-amd64 Version: 6.1.38-4 Severity: normal Tags: patch upstream X-Debbugs-Cc: george.shuk...@gmail.com
When Dell R660xs server is booting using ipxe.efi (in UEFI mode), reboots are hanging because of tg3 driver. Steps to reproduce: 1. Switch server to EFI mode 2. Enable PXE on any interfaces 3. Enable PXE as first in boot order 4. Configure external dhcp/tftp server with ipxe.efi (of any version) 5. Boot. ipxe.efi will try to get loading parameters and exit, a normal linux is loaded 6. Assure tg3 driver is loaded (rmmod tg3; modprobe tg3) 7. Reboot Expected behaivor: reboot Actual behavior: system hanging after message `ACPI: PM: Preparing to enter system sleep state S5`. I belive this problem was present present for long time, but in 6.0 there was introduced commit 2ca1c94ce0b which changed the tg3_shutdown function. - if (system_state == SYSTEM_POWER_OFF) - tg3_power_down(tp); + tg3_power_down(tp); Because of that tg3_power_down now is called even when SYSTEM_RESTART. (I confirmed that it causes hangs on older kernels during power off, but it's less of the problem, because for servers it's expected to get server working back after reboot, not so much for poweroff). (ipxe.efi is important to reproduce this bug). Any network card can be used, just a presence of tg3 driver and embedded Broadcom Inc. and subsidiaries BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller is enough to trigger it. Restoring back this behavior is solving reboot problem. I've reported it to the Dell community forum: https://www.dell.com/community/en/users/647c085ec3b1ef2541ca0c64, but it's unknown if they fix EFI network driver or not. Patch to fix hanging is attached. -- System Information: Debian Release: trixie/sid APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'unstable'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 6.5.0-3-amd64 (SMP w/20 CPU threads; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
Dell R650xs has embbedded network card with tg3 driver. If network was initialized by ipxe.efi in PXE/UEFI mode, server hangs during reboot. This is partial revert of upstream commit 2ca1c94ce0b. --- linux-6.1.38.orig/drivers/net/ethernet/broadcom/tg3.c +++ linux-6.1.38/drivers/net/ethernet/broadcom/tg3.c @@ -18082,7 +18082,8 @@ static void tg3_shutdown(struct pci_dev if (netif_running(dev)) dev_close(dev); - tg3_power_down(tp); + if (system_state == SYSTEM_POWER_OFF) + tg3_power_down(tp); rtnl_unlock();