summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMugunthan V N <mugunthanvnm@ti.com>2015-09-03 15:50:21 +0530
committerJoe Hershberger <joe.hershberger@ni.com>2015-09-29 16:01:29 -0500
commit26d3acdab86a4ade8e9407822d8cdbe51b1f7412 (patch)
tree84a170e79719a5d79e9fa862a8ba9ba649bad346
parent1f8836396de8215b7f460616926052b32597bb29 (diff)
downloadu-boot-imx-26d3acdab86a4ade8e9407822d8cdbe51b1f7412.zip
u-boot-imx-26d3acdab86a4ade8e9407822d8cdbe51b1f7412.tar.gz
u-boot-imx-26d3acdab86a4ade8e9407822d8cdbe51b1f7412.tar.bz2
net: phy: on phy device create do not initialize link to 1
Currently when phy device is created the link variable is initialized to 1 which denoted phy link is already up. On a power reset there is no issue as phy status register link status will not be set, so phy auto negotiate will be started. But when a cpu reset is issued (ex: dra72x-evm) phy's link status bit is already set which leads to assume that link is already setup in genphy_update_link() initial check which results in ehternet not working. So do not assume that link is already up and on phy device create set link to zero. This is verified on dra72x-evm. Reported-by: Franklin S Cooper Jr <fcooper@ti.com> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
-rw-r--r--drivers/net/phy/phy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 65c731a..a6023f1 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -571,7 +571,7 @@ static struct phy_device *phy_device_create(struct mii_dev *bus, int addr,
memset(dev, 0, sizeof(*dev));
dev->duplex = -1;
- dev->link = 1;
+ dev->link = 0;
dev->interface = interface;
dev->autoneg = AUTONEG_ENABLE;