]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: dsa: b53: properly bound ARL searches for < 4 ARL bin chips
authorJonas Gorski <jonas.gorski@gmail.com>
Sun, 2 Nov 2025 10:07:58 +0000 (11:07 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 4 Nov 2025 00:42:43 +0000 (16:42 -0800)
commite57723fe536f040cc2635ec1545dd0a7919a321e
tree575f337261037b36a271b002d25727f0b757fc87
parent0be04b5fa62a82a9929ca261f6c9f64a3d0a28da
net: dsa: b53: properly bound ARL searches for < 4 ARL bin chips

When iterating over the ARL table we stop at max ARL entries / 2, but
this is only valid if the chip actually returns 2 results at once. For
chips with only one result register we will stop before reaching the end
of the table if it is more than half full.

Fix this by only dividing the maximum results by two if we have a chip
with more than one result register (i.e. those with 4 ARL bins).

Fixes: cd169d799bee ("net: dsa: b53: Bound check ARL searches")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20251102100758.28352-4-jonas.gorski@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/b53/b53_common.c