• Thomas Petazzoni's avatar
    net: mvneta: fix operation in 10 Mbit/s mode · 4d12bc63
    Thomas Petazzoni authored
    As reported by Maggie Mae Roxas, the mvneta driver doesn't behave
    properly in 10 Mbit/s mode. This is due to a misconfiguration of the
    MVNETA_GMAC_AUTONEG_CONFIG register: bit MVNETA_GMAC_CONFIG_MII_SPEED
    must be set for a 100 Mbit/s speed, but cleared for a 10 Mbit/s speed,
    which the driver was not properly doing. This commit adjusts that by
    setting the MVNETA_GMAC_CONFIG_MII_SPEED bit only in 100 Mbit/s mode,
    and relying on the fact that all the speed related bits of this
    register are cleared at the beginning of the mvneta_adjust_link()
    function.
    
    This problem exists since c5aff182 ("net: mvneta: driver for
    Marvell Armada 370/XP network unit") which is the commit that
    introduced the mvneta driver in the kernel.
    
    Cc: <stable@vger.kernel.org> # v3.8+
    Fixes: c5aff182 ("net: mvneta: driver for Marvell Armada 370/XP network unit")
    Reported-by: default avatarMaggie Mae Roxas <maggie.mae.roxas@gmail.com>
    Cc: Maggie Mae Roxas <maggie.mae.roxas@gmail.com>
    Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4d12bc63
mvneta.c 84 KB