[net-next] net: dsa: qca8k: only change the MIB_EN bit in MODULE_EN register

From: Robert Marko
Date: Thu Nov 04 2021 - 08:49:40 EST


From: Gabor Juhos <j4g8y7@xxxxxxxxx>

The MIB module needs to be enabled in the MODULE_EN register in
order to make it to counting. This is done in the qca8k_mib_init()
function. However instead of only changing the MIB module enable
bit, the function writes the whole register. As a side effect other
internal modules gets disabled.

Fix up the code to only change the MIB module specific bit.

Fixes: 6b93fb46480a ("net-next: dsa: add new driver for qca8xxx family")
Signed-off-by: Gabor Juhos <j4g8y7@xxxxxxxxx>
Signed-off-by: Robert Marko <robert.marko@xxxxxxxxxx>
---
drivers/net/dsa/qca8k.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
index a984f06f6f04..a229776924f8 100644
--- a/drivers/net/dsa/qca8k.c
+++ b/drivers/net/dsa/qca8k.c
@@ -583,7 +583,7 @@ qca8k_mib_init(struct qca8k_priv *priv)
if (ret)
goto exit;

- ret = qca8k_write(priv, QCA8K_REG_MODULE_EN, QCA8K_MODULE_EN_MIB);
+ ret = qca8k_reg_set(priv, QCA8K_REG_MODULE_EN, QCA8K_MODULE_EN_MIB);

exit:
mutex_unlock(&priv->reg_mutex);
--
2.33.1