diff options
author | Li Yang <leoli@freescale.com> | 2009-01-06 14:08:10 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-06 14:08:10 -0800 |
commit | f430e49e9e0cf821c090abedb399b80ebf0cb4c6 (patch) | |
tree | 50b0d36acc55dbe17cce4157c1ef2ddeb2c81b4c | |
parent | 1fa17d4ba43d7e5aab5e90777b07da06524f6748 (diff) | |
download | op-kernel-dev-f430e49e9e0cf821c090abedb399b80ebf0cb4c6.zip op-kernel-dev-f430e49e9e0cf821c090abedb399b80ebf0cb4c6.tar.gz |
gianfar: ensure ECNTRL[R100] is cleared on link state change
When changing the link between 100Mbps and 1Gbps in SGMII mode it was
found out that the link would stop working. The issue is that ECNTRL[R100]
needs to be cleared when in 1Gbps mode. Older reference manuals didn't
require the explicitly clearing but has since been found it that it is
needed.
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/gianfar.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index c672ecf..7fcc3af 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -1973,6 +1973,8 @@ static void adjust_link(struct net_device *dev) case 1000: tempval = ((tempval & ~(MACCFG2_IF)) | MACCFG2_GMII); + + ecntrl &= ~(ECNTRL_R100); break; case 100: case 10: |