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

Raju Rangoju posted 2 patches 1 month, 1 week ago
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(-)
[PATCH net 0/2] amd-xgbe: fix S0i3 suspend/resume issues
Posted by Raju Rangoju 1 month, 1 week ago
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