net: dsa: mt7530: put initialising PCS devices code back to original order
authorArınç ÜNAL <arinc.unal@arinc9.com>
Fri, 1 Mar 2024 10:43:03 +0000 (12:43 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 5 Mar 2024 11:23:43 +0000 (12:23 +0100)
The commit fae463084032 ("net: dsa: mt753x: fix pcs conversion regression")
fixes regression caused by cpu_port_config manually calling phylink
operations. cpu_port_config was deemed useless and was removed. Therefore,
put initialising PCS devices code back to its original order.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/dsa/mt7530.c

index e353c03dd1db1f866f4fbdbf9c0f4fcdb2d5b2b6..5c8ad41ce8cda09281752054fc204b688da6d666 100644 (file)
@@ -2812,17 +2812,9 @@ static int
 mt753x_setup(struct dsa_switch *ds)
 {
        struct mt7530_priv *priv = ds->priv;
-       int i, ret;
-
-       /* Initialise the PCS devices */
-       for (i = 0; i < priv->ds->num_ports; i++) {
-               priv->pcs[i].pcs.ops = priv->info->pcs_ops;
-               priv->pcs[i].pcs.neg_mode = true;
-               priv->pcs[i].priv = priv;
-               priv->pcs[i].port = i;
-       }
+       int ret = priv->info->sw_setup(ds);
+       int i;
 
-       ret = priv->info->sw_setup(ds);
        if (ret)
                return ret;
 
@@ -2834,6 +2826,14 @@ mt753x_setup(struct dsa_switch *ds)
        if (ret && priv->irq)
                mt7530_free_irq_common(priv);
 
+       /* Initialise the PCS devices */
+       for (i = 0; i < priv->ds->num_ports; i++) {
+               priv->pcs[i].pcs.ops = priv->info->pcs_ops;
+               priv->pcs[i].pcs.neg_mode = true;
+               priv->pcs[i].priv = priv;
+               priv->pcs[i].port = i;
+       }
+
        if (priv->create_sgmii) {
                ret = priv->create_sgmii(priv);
                if (ret && priv->irq)