• nbd's avatar
    ath79: dev-eth: Don't advertise 1gbit in link code word on ar9331 · a2a0b9f4
    nbd authored
    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: 's avatarHarald Welte <laforge@gnumonks.org>
    
    Backport of r42432
    
    git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42434 3c298f89-4303-0410-b956-a3cf2f4a3e73
    a2a0b9f4
Name
Last commit
Last update
..
imagebuilder Loading commit data...
linux Loading commit data...
sdk Loading commit data...
toolchain Loading commit data...
Config.in Loading commit data...
Makefile Loading commit data...