net: dsa: qca8k: Enable RXMAC when bringing up a port
authorMichal Vokáč <vokac.m@gmail.com>
Wed, 23 May 2018 06:20:20 +0000 (08:20 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Aug 2018 05:50:43 +0000 (07:50 +0200)
commit eee1fe64765c562d8bcaf95e5631a8ea2f760f34 upstream.

When a port is brought up/down do not enable/disable only the TXMAC
but the RXMAC as well. This is essential for the CPU port to work.

Fixes: 6b93fb46480a ("net-next: dsa: add new driver for qca8xxx family")
Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/dsa/qca8k.c

index d2bcf2b3c19c987f0a989cf5f1f65dc4d5a99043..533aa5325819dc41c86cf928d616142fe95cacd7 100644 (file)
@@ -473,7 +473,7 @@ qca8k_set_pad_ctrl(struct qca8k_priv *priv, int port, int mode)
 static void
 qca8k_port_set_status(struct qca8k_priv *priv, int port, int enable)
 {
-       u32 mask = QCA8K_PORT_STATUS_TXMAC;
+       u32 mask = QCA8K_PORT_STATUS_TXMAC | QCA8K_PORT_STATUS_RXMAC;
 
        /* Port 0 and 6 have no internal PHY */
        if ((port > 0) && (port < 6))