net: stmmac: Don't set has_gmac if has_gmac4 is set
authorEzequiel Garcia <ezequiel@collabora.com>
Mon, 17 May 2021 15:40:34 +0000 (12:40 -0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 May 2021 22:34:43 +0000 (15:34 -0700)
Some Rockchip platforms have a GMAC4 core, and therefore
'plat_stmmacenet_data.has_gmac' shouldn't be set if
'plat_stmmacenet_data.has_gmac4' is set.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c

index 584db4c..56034f2 100644 (file)
@@ -1448,7 +1448,11 @@ static int rk_gmac_probe(struct platform_device *pdev)
        if (IS_ERR(plat_dat))
                return PTR_ERR(plat_dat);
 
-       plat_dat->has_gmac = true;
+       /* If the stmmac is not already selected as gmac4,
+        * then make sure we fallback to gmac.
+        */
+       if (!plat_dat->has_gmac4)
+               plat_dat->has_gmac = true;
        plat_dat->fix_mac_speed = rk_fix_speed;
 
        plat_dat->bsp_priv = rk_gmac_setup(pdev, plat_dat, data);