Trent Piepho de339c2aa7 phylib: Fix auto-negotiation restart avoidance
A previous patch, 51e2a3846eab18711f4eb59cd0a4c33054e2980a, made
genphy_config_aneg() not restart aneg by calling genphy_restart_aneg() if
the advertisement hadn't changed.

But, genphy_restart_aneg() doesn't just restart aneg, it may also *enable*
aneg or un-isolate the PHY from the MII (those functions are controlled by
the same register).  The code to avoid calling genphy_restart_aneg() didn't
consider this.

So, modify genphy_config_aneg() to also check if the PHY needs to have aneg
enabled or be un-isolated before deciding not to restart aneg.

This caused a problem with certain Davicom PHYs, as that driver isolates
the PHY (why?) before calling genphy_config_aneg() and expects the PHY to
be un-isolated by that function.

Signed-off-by: Trent Piepho <tpiepho@freescale.com>
Reported-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-19 15:52:41 -08:00
..
2008-10-28 17:46:02 +09:00
2008-11-07 08:25:43 -08:00
2008-11-14 14:10:01 +01:00
2008-11-13 15:37:07 +09:00
2008-11-01 09:49:46 -07:00
2008-11-01 09:50:12 -07:00
2008-10-21 07:48:33 -04:00
2008-11-15 11:36:06 -08:00
2008-10-16 11:21:30 -07:00
2008-10-27 19:15:41 +01:00
2008-11-11 13:33:05 -08:00
2008-11-04 08:18:19 -08:00
2008-11-04 08:18:19 -08:00
2008-11-10 13:50:17 -08:00
2008-11-01 09:49:46 -07:00
2008-11-13 14:45:06 -08:00
2008-11-04 08:18:19 -08:00
2008-10-28 21:47:17 +00:00