summaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches-3.7/0127-lantiq_etop-Fix-supported-modes-flag.patch
blob: 20e1a75565a0bac3bc108fd00d3738838ea92d4f (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
From 4de6a250878c9ce5605838b65acbddf338a7254a Mon Sep 17 00:00:00 2001
From: Sebastian Mayr <sebastian.mayr@student.uibk.ac.at>
Date: Thu, 20 Dec 2012 18:52:10 +0100
Subject: [PATCH 2/2] lantiq_etop: Fix supported modes flag

---
 drivers/net/ethernet/lantiq_etop.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -550,6 +550,13 @@ ltq_etop_mdio_probe(struct net_device *d
 {
 	struct ltq_etop_priv *priv = netdev_priv(dev);
 	struct phy_device *phydev = NULL;
+	u32 phy_supported =  (SUPPORTED_10baseT_Half
+			| SUPPORTED_10baseT_Full
+			| SUPPORTED_100baseT_Half
+			| SUPPORTED_100baseT_Full
+			| SUPPORTED_Autoneg
+			| SUPPORTED_MII
+			| SUPPORTED_TP);
 
 	if (of_machine_is_compatible("lantiq,ase"))
 		phydev = priv->mii_bus->phy_map[8];
@@ -569,17 +576,11 @@ ltq_etop_mdio_probe(struct net_device *d
 		return PTR_ERR(phydev);
 	}
 
-	phydev->supported &= (SUPPORTED_10baseT_Half
-			      | SUPPORTED_10baseT_Full
-			      | SUPPORTED_100baseT_Half
-			      | SUPPORTED_100baseT_Full
-			      | SUPPORTED_Autoneg
-			      | SUPPORTED_MII
-			      | SUPPORTED_TP);
 	if (of_machine_is_compatible("lantiq,ar9"))
-		phydev->supported &= SUPPORTED_1000baseT_Half
-					| SUPPORTED_1000baseT_Full;
+		phy_supported |= SUPPORTED_1000baseT_Half
+			| SUPPORTED_1000baseT_Full;
 
+	phydev->supported &= phy_supported;
 	phydev->advertising = phydev->supported;
 	priv->phydev = phydev;
 	pr_info("%s: attached PHY [%s] (phy_addr=%s, irq=%d)\n",