diff options
author | Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> | 2011-07-05 16:33:51 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-07-06 02:41:17 -0400 |
commit | 91a5615203355bb34e0b9e68e94f27f24719a74c (patch) | |
tree | cfafdf3c89ee8e40a3da28de6ed88c89e1876faa /drivers | |
parent | 712ae51afd55b20c04c5383d02ba5d10233313b1 (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.c | 4 |
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 | } |