diff options
author | 2024-03-01 12:43:03 +0200 | |
---|---|---|
committer | 2024-03-05 12:23:43 +0100 | |
commit | 3a87131e3d72281285d4df7db2d7d3299b1edb18 (patch) | |
tree | d9208d05ff7cb4a7aa2d9cc96fe129715992362a /drivers | |
parent | net: dsa: mt7530: get rid of mt753x_mac_config() (diff) | |
download | linux-3a87131e3d72281285d4df7db2d7d3299b1edb18.tar.gz linux-3a87131e3d72281285d4df7db2d7d3299b1edb18.tar.bz2 linux-3a87131e3d72281285d4df7db2d7d3299b1edb18.zip |
net: dsa: mt7530: put initialising PCS devices code back to original order
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/dsa/mt7530.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index e353c03dd1db..5c8ad41ce8cd 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -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) |