Commit f430e49e authored by Li Yang's avatar Li Yang Committed by David S. Miller

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: default avatarLi Yang <leoli@freescale.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
Acked-by: default avatarAndy Fleming <afleming@freescale.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1fa17d4b
...@@ -1973,6 +1973,8 @@ static void adjust_link(struct net_device *dev) ...@@ -1973,6 +1973,8 @@ static void adjust_link(struct net_device *dev)
case 1000: case 1000:
tempval = tempval =
((tempval & ~(MACCFG2_IF)) | MACCFG2_GMII); ((tempval & ~(MACCFG2_IF)) | MACCFG2_GMII);
ecntrl &= ~(ECNTRL_R100);
break; break;
case 100: case 100:
case 10: case 10:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment