All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net v2 0/7] eth: fix calling napi_enable() in atomic context
@ 2025-01-23  0:45 Jakub Kicinski
  2025-01-23  0:45 ` [PATCH net v2 1/7] eth: tg3: " Jakub Kicinski
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Jakub Kicinski @ 2025-01-23  0:45 UTC (permalink / raw)
  To: davem
  Cc: netdev, edumazet, pabeni, andrew+netdev, horms, dan.carpenter,
	Jakub Kicinski

Dan has reported that I missed a lot of drivers which call napi_enable()
in atomic with the naive coccinelle search for spin locks:
https://lore.kernel.org/dcfd56bc-de32-4b11-9e19-d8bd1543745d@stanley.mountain

Fix them. Most of the fixes involve taking the netdev_lock()
before the spin lock. mt76 is special because we can just
move napi_enable() from the BH section.

All patches compile tested only.

v2:
 - [patch 1] correct commit msg (can't sleep -> needs to sleep)
 - [patch 1] add re-locking annotation to tg3_irq_quiesce()
 - [patch 6] actually switch to napi_enable_locked()
 - [patch 7] reword the commit msg slightly
v1: https://lore.kernel.org/20250121221519.392014-1-kuba@kernel.org 

Jakub Kicinski (7):
  eth: tg3: fix calling napi_enable() in atomic context
  eth: forcedeth: remove local wrappers for napi enable/disable
  eth: forcedeth: fix calling napi_enable() in atomic context
  eth: 8139too: fix calling napi_enable() in atomic context
  eth: niu: fix calling napi_enable() in atomic context
  eth: via-rhine: fix calling napi_enable() in atomic context
  wifi: mt76: move napi_enable() from under BH

 drivers/net/ethernet/broadcom/tg3.c           | 35 ++++++++++++++++---
 drivers/net/ethernet/nvidia/forcedeth.c       | 32 ++++++-----------
 drivers/net/ethernet/realtek/8139too.c        |  4 ++-
 drivers/net/ethernet/sun/niu.c                | 10 +++++-
 drivers/net/ethernet/via/via-rhine.c          | 11 +++++-
 .../net/wireless/mediatek/mt76/mt7603/mac.c   |  9 +++--
 .../net/wireless/mediatek/mt76/mt7615/pci.c   |  8 +++--
 .../wireless/mediatek/mt76/mt7615/pci_mac.c   |  8 +++--
 .../net/wireless/mediatek/mt76/mt76x0/pci.c   |  8 +++--
 .../net/wireless/mediatek/mt76/mt76x02_mmio.c |  8 +++--
 .../net/wireless/mediatek/mt76/mt76x2/pci.c   |  7 ++--
 .../net/wireless/mediatek/mt76/mt7915/mac.c   | 17 ++++++---
 .../net/wireless/mediatek/mt76/mt7921/pci.c   |  7 ++--
 .../wireless/mediatek/mt76/mt7921/pci_mac.c   |  7 ++--
 .../net/wireless/mediatek/mt76/mt7925/pci.c   |  7 ++--
 .../wireless/mediatek/mt76/mt7925/pci_mac.c   |  7 ++--
 .../net/wireless/mediatek/mt76/mt7996/mac.c   | 12 +++----
 17 files changed, 132 insertions(+), 65 deletions(-)

-- 
2.48.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-01-23 22:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-23  0:45 [PATCH net v2 0/7] eth: fix calling napi_enable() in atomic context Jakub Kicinski
2025-01-23  0:45 ` [PATCH net v2 1/7] eth: tg3: " Jakub Kicinski
2025-01-23  7:23   ` Michael Chan
2025-01-23  0:45 ` [PATCH net v2 2/7] eth: forcedeth: remove local wrappers for napi enable/disable Jakub Kicinski
2025-01-23  0:45 ` [PATCH net v2 3/7] eth: forcedeth: fix calling napi_enable() in atomic context Jakub Kicinski
2025-01-23  0:45 ` [PATCH net v2 4/7] eth: 8139too: " Jakub Kicinski
2025-01-23 22:48   ` Francois Romieu
2025-01-23  0:45 ` [PATCH net v2 5/7] eth: niu: " Jakub Kicinski
2025-01-23  0:45 ` [PATCH net v2 6/7] eth: via-rhine: " Jakub Kicinski
2025-01-23  8:35   ` Eric Dumazet
2025-01-23  0:45 ` [PATCH net v2 7/7] wifi: mt76: move napi_enable() from under BH Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.