Subject: [PATCH net 0/2] amd-xgbe: fix S0i3 suspend/resume issues

From: Raju Rangoju <[email-masked]>
Date: Wed, 25 Feb 2026 16:29:59 +0530

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