Re: [PATCH net] net: stmmac: Clear DMA errors for multi-channel interrupts
flat view
From: Nicolai Buchwitz <nb@tipi-net.de>
Date: 2026-10-30 19:33:30
Also in:
linux-arm-kernel, lkml
On Fri, 2026-10-30 at 11:22 +0100, Maxime Chevallier wrote:
The Multi-MSI interrupt handler doesn't clear the DMA error
interrupts,
and this leads to interrupt storms when one of these interrupts
starts
firing :
- The RBU (rx buff unav) which triggers under high traffic load
This triggers easily with iperf3 and small udp packets, and shows
when running the netpoll kselftest
- The RPS (rx process stop) which triggers when we stop the DMA RX.
This one shows when restarting the RX logic without doing a
down/up
cycle, like when attaching an XDP program. The XSK kselftests
triggers it.
Let's make sure we clear these interrupts for multi-MSI cases. It's
already properly done for the single-chan interrupt, and for that
introduce an "ERR" DMA dir, as we don't want to touch the RI/TI bits
when handling these interrupts.
To avoid duplication, the DMA TX error handling is factored out in a
dedicated helper (in the same commit to ease backporting).
Both of the above storms have been found on dwmac-motorcomm (YT8601),
and are triggered by the xdp.py, xsk_reconfig.py, xdp_features.py,
ring_reconfig.py and netpoll_basic kernel selftests.
This seems to only affect dwmac4, there's no multi-msi mode on
dwmac1000, and on dwxgmac these interrupts are masked as of today.
Fixes: 6ccf12ae111e ("net: stmmac: use interrupt mode INTM=1 for
multi-MSI")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
---[..,]
Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de> thanks, Nicolai -- Nicolai Buchwitz [off-list ref]