WSL2-Linux-Kernel/drivers/net/ethernet/sun
Jakub Kicinski fbeeb55dbb eth: sungem: remove .ndo_poll_controller to avoid deadlocks
[ Upstream commit ac0a230f719b02432d8c7eba7615ebd691da86f4 ]

Erhard reports netpoll warnings from sungem:

  netpoll_send_skb_on_dev(): eth0 enabled interrupts in poll (gem_start_xmit+0x0/0x398)
  WARNING: CPU: 1 PID: 1 at net/core/netpoll.c:370 netpoll_send_skb+0x1fc/0x20c

gem_poll_controller() disables interrupts, which may sleep.
We can't sleep in netpoll, it has interrupts disabled completely.
Strangely, gem_poll_controller() doesn't even poll the completions,
and instead acts as if an interrupt has fired so it just schedules
NAPI and exits. None of this has been necessary for years, since
netpoll invokes NAPI directly.

Fixes: fe09bb6190 ("sungem: Spring cleaning and GRO support")
Reported-and-tested-by: Erhard Furtner <erhard_f@mailbox.org>
Link: https://lore.kernel.org/all/20240428125306.2c3080ef@legion
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20240508134504.3560956-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-16 13:39:25 +02:00
..
Kconfig
Makefile
cassini.c cassini: Fix a memory leak in the error handling path of cas_init_one() 2023-05-24 17:36:52 +01:00
cassini.h
ldmvsw.c ethernet: sun: add check for the mdesc_grab() 2023-03-22 13:31:28 +01:00
niu.c niu: Fix missing unwind goto in niu_alloc_channels() 2023-04-20 12:13:53 +02:00
niu.h
sunbmac.c ethernet: constify references to netdev->dev_addr in drivers 2024-01-05 15:13:37 +01:00
sunbmac.h
sungem.c eth: sungem: remove .ndo_poll_controller to avoid deadlocks 2024-06-16 13:39:25 +02:00
sungem.h
sunhme.c
sunhme.h
sunqe.c ethernet: constify references to netdev->dev_addr in drivers 2024-01-05 15:13:37 +01:00
sunqe.h
sunvnet.c ethernet: sun: add check for the mdesc_grab() 2023-03-22 13:31:28 +01:00
sunvnet_common.c
sunvnet_common.h