summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorDaniel Machon <daniel.machon@microchip.com>2026-10-20 10:57:27 +0200
committerJakub Kicinski <kuba@kernel.org>2026-10-21 17:22:07 -0700
commit9770818b8a92fb5fb77725bd5055f165eee3f52e (patch)
treef5ce07edd92a9285e9de9fd61cf2afacd6e56384 /scripts/Makefile.thinlto
parenta031ec9ff5a2e55867430e74e9b497fe844116ba (diff)
downloadlinux-9770818b8a92fb5fb77725bd5055f165eee3f52e.tar.gz
linux-9770818b8a92fb5fb77725bd5055f165eee3f52e.zip
net: lan969x: don't disable hardirqs in fdma tx clear
lan969x_fdma_tx_clear_buf() runs from the NAPI poll and frees the skbs of completed tx DCBs with napi_consume_skb(), under sparx5->tx_lock. Before this patch, the lock is taken with spin_lock_irqsave(), so the skbs are freed with hardirqs disabled. RX skbs are marked for page_pool recycling, so when such an skb is forwarded back out and its tx completion frees it here, the free path reaches __page_pool_put_page(), which warns via lockdep_assert_no_hardirq(). Take tx_lock with a plain spin_lock(), as the only other tx_lock user, sparx5_port_xmit_impl(), already does. tx_clear_buf() is only called from softirq context, so disabling hardirqs is not needed. Found with lockdep enabled (CONFIG_PROVE_LOCKING), which the assert depends on. Reproduced on lan969x by redirecting received frames out of another port with tc mirred. Fixes: d84ad2c0d80c ("net: lan969x: add FDMA implementation") Signed-off-by: Daniel Machon <daniel.machon@microchip.com> Link: https://patch.msgid.link/20261020-lan969x-fdma-tx-clear-irq-v1-1-b9f9d1eda317@microchip.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions