aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/marvell.c
diff options
context:
space:
mode:
authorWang Jian <lark@linux.net.cn>2008-07-16 09:46:20 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-07-22 17:59:12 -0400
commit7239016d52c6d568d069f083bdcd17f35ab79fd8 (patch)
treecc851aa1bb0a1838e345fe2ad64ae0b1d5554dc6 /drivers/net/phy/marvell.c
parent9cf8fa4334e60f27b4a392f432c292f3af268215 (diff)
net/phy: Fix 88e1111 copper/fiber selection in RGMII mode
MII_M1111_HWCFG_FIBER_COPPER_RES is a bit of MII_M1111_PHY_EXT_SR, not MII_M1111_PHY_EXT_CR. Signed-off-by: Wang Jian <lark@linux.net.cn> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/phy/marvell.c')
-rw-r--r--drivers/net/phy/marvell.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index 737512c00971..4aa547947040 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -158,7 +158,6 @@ static int m88e1111_config_init(struct phy_device *phydev)
158{ 158{
159 int err; 159 int err;
160 int temp; 160 int temp;
161 int mode;
162 161
163 /* Enable Fiber/Copper auto selection */ 162 /* Enable Fiber/Copper auto selection */
164 temp = phy_read(phydev, MII_M1111_PHY_EXT_SR); 163 temp = phy_read(phydev, MII_M1111_PHY_EXT_SR);
@@ -198,9 +197,7 @@ static int m88e1111_config_init(struct phy_device *phydev)
198 197
199 temp &= ~(MII_M1111_HWCFG_MODE_MASK); 198 temp &= ~(MII_M1111_HWCFG_MODE_MASK);
200 199
201 mode = phy_read(phydev, MII_M1111_PHY_EXT_CR); 200 if (temp & MII_M1111_HWCFG_FIBER_COPPER_RES)
202
203 if (mode & MII_M1111_HWCFG_FIBER_COPPER_RES)
204 temp |= MII_M1111_HWCFG_MODE_FIBER_RGMII; 201 temp |= MII_M1111_HWCFG_MODE_FIBER_RGMII;
205 else 202 else
206 temp |= MII_M1111_HWCFG_MODE_COPPER_RGMII; 203 temp |= MII_M1111_HWCFG_MODE_COPPER_RGMII;