[PATCH] net: cpsw: fix ethernet bringup in case of a fixed-link phy
Karfich, Oleg
Oleg.Karfich at wago.com
Tue Aug 31 05:57:01 PDT 2021
In case of a fixed-link phy the cpsw_adjust_link() function is
called directly in phy_device_attach() and configures the MACCONTROL
register. Right after this configuration cpsw_init() is called and
resets the MACCONTROL register.
Fix this by initializing the slave before connecting the phy device in
cpsw_open().
Signed-off-by: Oleg Karfich <oleg.karfich at wago.com>
---
drivers/net/cpsw.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
index b01e7ac..4a8f9e6 100644
--- a/drivers/net/cpsw.c
+++ b/drivers/net/cpsw.c
@@ -901,13 +901,13 @@ static int cpsw_open(struct eth_device *edev)
dev_dbg(&slave->dev, "* %s\n", __func__);
+ cpsw_slave_init(slave, priv);
+
ret = phy_device_connect(edev, NULL, slave->phy_id,
cpsw_adjust_link, 0, slave->phy_if);
if (ret)
return ret;
- cpsw_slave_init(slave, priv);
-
return 0;
}
--
2.7.4
More information about the barebox
mailing list