From f430e49e9e0cf821c090abedb399b80ebf0cb4c6 Mon Sep 17 00:00:00 2001 From: Li Yang Date: Tue, 6 Jan 2009 14:08:10 -0800 Subject: 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 Signed-off-by: Kumar Gala Acked-by: Andy Fleming Signed-off-by: David S. Miller --- drivers/net/gianfar.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index c672ecfc9595..7fcc3af3f86b 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: -- cgit v1.2.3-58-ga151