1 From 36ee43df98b0ac16bb73e62fa8cffcdf710c37e4 Mon Sep 17 00:00:00 2001
2 From: Jonas Gorski <jonas.gorski@gmail.com>
3 Date: Tue, 25 Nov 2025 08:51:44 +0100
4 Subject: [PATCH] net: dsa: b53: fix VLAN_ID_IDX write size for BCM5325/65
6 Since BCM5325 and BCM5365 only support up to 256 VLANs, the VLAN_ID_IDX
7 register is only 8 bit wide, not 16 bit, so use an appropriate accessor.
9 Fixes: c45655386e53 ("net: dsa: b53: add support for FDB operations on 5325/5365")
10 Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
12 drivers/net/dsa/b53/b53_common.c | 8 ++++++--
13 1 file changed, 6 insertions(+), 2 deletions(-)
15 --- a/drivers/net/dsa/b53/b53_common.c
16 +++ b/drivers/net/dsa/b53/b53_common.c
17 @@ -1946,8 +1946,12 @@ static int b53_arl_op(struct b53_device
19 /* Perform a read for the given MAC and VID */
20 b53_write48(dev, B53_ARLIO_PAGE, B53_MAC_ADDR_IDX, mac);
22 - b53_write16(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid);
23 + if (!is5325m(dev)) {
24 + if (is5325(dev) || is5365(dev))
25 + b53_write8(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid);
27 + b53_write16(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid);
30 /* Issue a read operation for this MAC */
31 ret = b53_arl_rw_op(dev, 1);