realtek: fix locking bug in rtl838x_hw_receive()
authorBirger Koblitz <mail@birger-koblitz.de>
Fri, 18 Feb 2022 11:01:53 +0000 (12:01 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Fri, 18 Feb 2022 12:35:03 +0000 (12:35 +0000)
commit4d8020072ee291fe4e7b751e2c1490830932bcc4
treeab678ccae91f44a27034136aed99a6faf182f99a
parente9e61d76fd5227f175b41f2d39e6c26cb3133524
realtek: fix locking bug in rtl838x_hw_receive()

A Locking bug in the packet receive path was introduced with PR
#4973. The following patch prevents the driver from locking
after a few minutes with an endless flow of

[ 1434.185085] rtl838x-eth 1b00a300.ethernet eth0: Ring contention: r: 0, last a28000f4, cur a28000f8
[ 1434.208971] rtl838x-eth 1b00a300.ethernet eth0: Ring contention: r: 0, last a28000f4, cur a28000fc
[ 1434.794800] rtl838x-eth 1b00a300.ethernet eth0: Ring contention: r: 0, last a28000f4, cur a28000fc
[ 1435.049187] rtl838x-eth 1b00a300.ethernet eth0: Ring contention: r: 0, last a28000f4, cur a28000fc

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c