aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>2011-07-05 16:33:51 -0400
committerDavid S. Miller <davem@davemloft.net>2011-07-06 02:41:17 -0400
commit91a5615203355bb34e0b9e68e94f27f24719a74c (patch)
treecfafdf3c89ee8e40a3da28de6ed88c89e1876faa /drivers
parent712ae51afd55b20c04c5383d02ba5d10233313b1 (diff)
net: sh_eth: fix cannot work half-duplex mode
When link was down, the bit of DM in ECMR was always set. So, we could not use half-duplex mode on the controller. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/sh_eth.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index 8a72a979ee7..35bbc2718c1 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -1184,8 +1184,8 @@ static void sh_eth_adjust_link(struct net_device *ndev)
1184 mdp->cd->set_rate(ndev); 1184 mdp->cd->set_rate(ndev);
1185 } 1185 }
1186 if (mdp->link == PHY_DOWN) { 1186 if (mdp->link == PHY_DOWN) {
1187 sh_eth_write(ndev, (sh_eth_read(ndev, ECMR) & ~ECMR_TXF) 1187 sh_eth_write(ndev,
1188 | ECMR_DM, ECMR); 1188 (sh_eth_read(ndev, ECMR) & ~ECMR_TXF), ECMR);
1189 new_state = 1; 1189 new_state = 1;
1190 mdp->link = phydev->link; 1190 mdp->link = phydev->link;
1191 } 1191 }