]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: ethernet: mtk_eth_soc: reset all TX queues on DMA free
authorDaniel Golle <daniel@makrotopia.org>
Mon, 5 May 2025 01:07:32 +0000 (02:07 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 18 May 2025 06:24:05 +0000 (08:24 +0200)
commit68f29bb97a0e0519156664cdc23e8b1f129e3254
tree32b9f234d4e64afd309ebbdfbc3e360efcbb1910
parent370635397b623f5519a3b01c58954b447f16555c
net: ethernet: mtk_eth_soc: reset all TX queues on DMA free

[ Upstream commit 4db6c75124d871fbabf8243f947d34cc7e0697fc ]

The purpose of resetting the TX queue is to reset the byte and packet
count as well as to clear the software flow control XOFF bit.

MediaTek developers pointed out that netdev_reset_queue would only
resets queue 0 of the network device.

Queues that are not reset may cause unexpected issues.

Packets may stop being sent after reset and "transmit timeout" log may
be displayed.

Import fix from MediaTek's SDK to resolve this issue.

Link: https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/319c0d9905579a46dc448579f892f364f1f84818
Fixes: f63959c7eec31 ("net: ethernet: mtk_eth_soc: implement multi-queue support for per-port queues")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://patch.msgid.link/c9ff9adceac4f152239a0f65c397f13547639175.1746406763.git.daniel@makrotopia.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mediatek/mtk_eth_soc.c