[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