Skip to content

net: bcmgenet: fix leaking and racing timeout handler#7300

Draft
nbuchwitz wants to merge 1 commit intoraspberrypi:rpi-6.18.yfrom
nbuchwitz:devel/genet-lockup
Draft

net: bcmgenet: fix leaking and racing timeout handler#7300
nbuchwitz wants to merge 1 commit intoraspberrypi:rpi-6.18.yfrom
nbuchwitz:devel/genet-lockup

Conversation

@nbuchwitz
Copy link
Copy Markdown
Contributor

Possible fix of #7024
Need the CI builds, so people can test and provide feedback if at least the lockup is gone with this. Do not merge.

The bcmgenet_timeout handler tries to take down all tx queues when
a single queue times out. This is over zealous and causes many race
conditions with queues that are still chugging along. Instead lets
only restart the timed out queue.

While reclaiming the tx queue we fast forward the write pointer to
drop any data in flight. These dropped frames are not added back
to the pool of free bds. We also need to tell the netdev that we
are dropping said data.

Signed-off-by: Justin Chen <justin.chen@broadcom.com>
Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de>
Tested-by: Nicolai Buchwitz <nb@tipi-net.de>
Fixes: f1bacae ("net: bcmgenet: support reclaiming unsent Tx packets")
Fixes: 13ea657 ("net: bcmgenet: improve TX timeout")
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
@nbuchwitz nbuchwitz marked this pull request as ready for review April 3, 2026 12:49
@pelwell pelwell marked this pull request as draft April 3, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants