diff options
| author | Raju Rangoju <Raju.Rangoju@amd.com> | 2026-03-02 09:51:24 +0530 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-03-03 17:24:38 -0800 |
| commit | e2f27363aa6d983504c6836dd0975535e2e9dba0 (patch) | |
| tree | c4ffec90d12e63cc3d95e7ca5a5d5413a02bdc9f /include/linux/i2c/git@git.tavy.me:linux.git | |
| parent | 5af6e8b54927f7a8d3c7fd02b1bdc09e93d5c079 (diff) | |
amd-xgbe: fix sleep while atomic on suspend/resume
The xgbe_powerdown() and xgbe_powerup() functions use spinlocks
(spin_lock_irqsave) while calling functions that may sleep:
- napi_disable() can sleep waiting for NAPI polling to complete
- flush_workqueue() can sleep waiting for pending work items
This causes a "BUG: scheduling while atomic" error during suspend/resume
cycles on systems using the AMD XGBE Ethernet controller.
The spinlock protection in these functions is unnecessary as these
functions are called from suspend/resume paths which are already serialized
by the PM core
Fix this by removing the spinlock. Since only code that takes this lock
is xgbe_powerdown() and xgbe_powerup(), remove it completely.
Fixes: c5aa9e3b8156 ("amd-xgbe: Initial AMD 10GbE platform driver")
Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
Link: https://patch.msgid.link/20260302042124.1386445-1-Raju.Rangoju@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/i2c/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions
