summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorKarfich, Oleg <Oleg.Karfich@wago.com>2021-08-31 12:57:01 +0000
committerSascha Hauer <s.hauer@pengutronix.de>2021-10-05 13:51:12 +0200
commit2b9ba2f5c60565798040cce4c3f4140a512fac0b (patch)
tree73a15120c9c25e85f76b6a6ee6b83e4317a212d2 /drivers
parent229d1635c675162c7b81a30e9f04c6b1bd83112f (diff)
downloadbarebox-2b9ba2f5c60565798040cce4c3f4140a512fac0b.tar.gz
barebox-2b9ba2f5c60565798040cce4c3f4140a512fac0b.tar.xz
net: cpsw: fix ethernet bringup in case of a fixed-link phy
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@wago.com> Link: https://lore.barebox.org/1630414594-10601-1-git-send-email-oleg.karfich@wago.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/cpsw.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
index b01e7ac7a8..4a8f9e67d6 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;
}