Felix Fietkau 60b81acd60 ath79: dev-eth: Don't advertise 1gbit in link code word on ar9331
While the AR9331 has a gigabit MAC towards the internal switch, the
integrated PHYs however are only 100-base-tx capable.  The existing code
however advertieses gigabit capability in the link status word.  If you
attach such a PHY to a gigabit capable switch on the remote end, with
some probability it attempts to negotiate gigabit and fails, falling
baco to the AR9331 assuming a 10mbit half-duplex link.  This has been
observed quite frequently with the Carambola2 and gigabit capable
switches.

In ath79_register_eth(), "pdata->has_gbit = 1;" is set unconditionally
for both AR9331 ethernet ports. This is most likely wrong. Despite the
two MAC IP cores being gigabit MACs, the MAC for eth1 is connected to a
100base-T PHY via MII. The has_gbit attribute is used in the ethernet
driver to determine the supported link modes.

So either pdata->has_gbit is not set to 1 anymore, or the ethernet
driver needs to be modified to determine the advertised link code word
on another criteria than pdata->has_gbit.  This patch implements the
former solution.

Signed-off-by: Harald Welte <laforge@gnumonks.org>

SVN-Revision: 42432
2014-09-07 09:45:32 +00:00
..
2014-08-16 18:09:31 +00:00
2014-08-16 17:32:46 +00:00
2014-09-06 17:51:35 +00:00
2014-08-18 21:57:54 +00:00
2014-07-26 12:23:56 +00:00
2014-08-25 21:50:48 +00:00
2014-08-25 21:50:49 +00:00
2014-08-30 09:59:30 +00:00
2014-08-30 09:59:18 +00:00
2013-09-26 17:53:20 +00:00
2014-08-08 13:38:22 +00:00
2014-08-08 13:38:22 +00:00
2014-08-18 13:09:24 +00:00
2014-09-02 17:00:46 +00:00
2014-02-09 16:14:30 +00:00
2014-07-18 20:45:49 +00:00
2014-08-30 09:59:18 +00:00
2013-09-26 17:53:14 +00:00
2014-09-06 15:59:06 +00:00
2014-09-05 22:02:09 +00:00
2014-08-08 13:38:22 +00:00