| From d0b3fe8efcfee2ffc9d4b00183c4abb26ac43aba Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 14 Jun 2025 09:59:53 +0200 |
| Subject: net: dsa: b53: prevent SWITCH_CTRL access on BCM5325 |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Álvaro Fernández Rojas <noltari@gmail.com> |
| |
| [ Upstream commit 22ccaaca43440e90a3b68d2183045b42247dc4be ] |
| |
| BCM5325 doesn't implement SWITCH_CTRL register so we should avoid reading |
| or writing it. |
| |
| Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> |
| Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> |
| Link: https://patch.msgid.link/20250614080000.1884236-8-noltari@gmail.com |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/dsa/b53/b53_common.c | 11 ++++++----- |
| 1 file changed, 6 insertions(+), 5 deletions(-) |
| |
| diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c |
| index 5daefb60885e..6378e3f0f1fe 100644 |
| --- a/drivers/net/dsa/b53/b53_common.c |
| +++ b/drivers/net/dsa/b53/b53_common.c |
| @@ -339,11 +339,12 @@ static void b53_set_forwarding(struct b53_device *dev, int enable) |
| |
| b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_MODE, mgmt); |
| |
| - /* Include IMP port in dumb forwarding mode |
| - */ |
| - b53_read8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, &mgmt); |
| - mgmt |= B53_MII_DUMB_FWDG_EN; |
| - b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, mgmt); |
| + if (!is5325(dev)) { |
| + /* Include IMP port in dumb forwarding mode */ |
| + b53_read8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, &mgmt); |
| + mgmt |= B53_MII_DUMB_FWDG_EN; |
| + b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, mgmt); |
| + } |
| |
| /* Look at B53_UC_FWD_EN and B53_MC_FWD_EN to decide whether |
| * frames should be flooded or not. |
| -- |
| 2.39.5 |
| |