aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mpc85xx/patches-3.14/750-phy_reset_anenable.patch
blob: bb30fe9efcda1570fa43428da395866d7c302797 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From b4da0f2e86748379fc43e82b83458eb054af8d19 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Mon, 17 Nov 2014 21:41:56 +0100
Subject: net: phy: set BMCR_ANENABLE when phy is reset

Kernel 3.14 introduced an additional reset of the switch phys
causing autonegotiation to be disabled.
Change reset command to enable autonegotiation.
 
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/net/phy/phy_device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 25f7419..98445e6 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -539,7 +539,7 @@ int phy_init_hw(struct phy_device *phydev)
 	if (!phydev->drv || !phydev->drv->config_init)
 		return 0;
 
-	ret = phy_write(phydev, MII_BMCR, BMCR_RESET);
+	ret = phy_write(phydev, MII_BMCR, BMCR_RESET | BMCR_ANENABLE);
 	if (ret < 0)
 		return ret;
 
-- 
2.1.3