[PATCH net v2 0/2] net: ngbe: fix error handling in resume and open paths
From: Zhang Yunfei <hidden>
Date: 2026-09-22 10:08:47
Also in:
lkml
Two error-handling fixes for the ngbe PM/open paths. ngbe_resume() declared err as u32 and returned 0 unconditionally, so a failed ngbe_reset_hw(), wx_init_interrupt_scheme() or ngbe_open() left the device in netif_device_detach() state with a broken interrupt scheme while the PM core was told the resume succeeded; the reset task bails out on the missing netif_device_present() check, so the device cannot self-heal. Patch 1 fixes the type and propagates all of these errors, making the whole tail of the resume path consistent with the pci_enable_device_mem() failure path at the top, which already reports its error. ngbe_open() sets the WX_CFG_PORT_CTL_DRV_LOAD bit to tell the management firmware the host has taken over the port, but no error path cleared it, leaving the firmware owning a port whose rings and IRQs are gone. Patch 2 rolls the bit back on all open error paths, matching ngbe_close() and ngbe_dev_shutdown(). --- Changes in v2: - also propagate the ngbe_reset_hw() failure, so the whole tail of ngbe_resume() reports errors to the PM core (Sashiko review); - drop the inaccurate "device can be re-probed" claim: the PM core records and logs the failure, there is no re-probe (Sashiko review); - patch 2/2 unchanged. Link: https://lore.kernel.org/netdev/20260917090050.1927999-1-zhangyunfei1@kylinos.cn/T/#u/ (local) Zhang Yunfei (2): net: ngbe: propagate resume errors to the PM core net: ngbe: clear DRV_LOAD bit when ngbe_open() fails drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) base-commit: 93f51579e7df248780214094418f205253383cc5 -- 2.25.1