net: dsa: b53: Improve flow control setup on BCM5301x
authorRafał Miłecki <rafal@milecki.pl>
Thu, 16 Sep 2021 12:03:53 +0000 (14:03 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 17 Sep 2021 02:06:36 +0000 (19:06 -0700)
According to the Broadcom's reference driver flow control needs to be
enabled for any CPU switch port (5, 7 or 8 - depending on which one is
used). Current code makes it work only for the port 5. Use
dsa_is_cpu_port() which solved that problem.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/b53/b53_common.c

index ca84e32..13f337a 100644 (file)
@@ -1222,7 +1222,7 @@ static void b53_adjust_link(struct dsa_switch *ds, int port,
                return;
 
        /* Enable flow control on BCM5301x's CPU port */
-       if (is5301x(dev) && port == dev->cpu_port)
+       if (is5301x(dev) && dsa_is_cpu_port(ds, port))
                tx_pause = rx_pause = true;
 
        if (phydev->pause) {