[PATCH net 0/2] amd-xgbe: fix S0i3 suspend/resume issues
From: Raju Rangoju
Date: Wed Feb 25 2026 - 06:03:24 EST
This patch series fixes suspend/resume issues in the AMD XGBE driver that
prevent proper S0i3 (Modern Standby) entry on AMD platforms.
Fixes include:
1. "BUG: scheduling while atomic" error during suspend/resume:
The xgbe_powerdown()/xgbe_powerup() functions call napi_disable()
and flush_workqueue() under a spinlock. These functions can sleep,
which is not allowed in atomic context.
2. System fails to enter deepest sleep state (S0i3):
Missing proper PCI power management operations prevent the system
from reaching the deepest sleep states.
Patch 1 fixes the sleep-while-atomic bug by removing the unnecessary
spinlock from the power management functions.
Patch 2 adds proper PCI power management to support S0i3 by saving/
restoring PCI state, managing device power states, and properly
handling interrupts and bus mastering.
Raju Rangoju (2):
amd-xgbe: fix sleep while atomic on suspend/resume
amd-xgbe: add PCI power management for S0i3 support
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 57 +++++++------------
drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 49 ++++++++++++++--
drivers/net/ethernet/amd/xgbe/xgbe-platform.c | 4 +-
drivers/net/ethernet/amd/xgbe/xgbe.h | 8 +--
4 files changed, 68 insertions(+), 50 deletions(-)
--
2.34.1