• Clemens Gruber's avatar
    phy: marvell: Fix and unify reg-init behavior · 79be1a1c
    Clemens Gruber authored
    For the Marvell 88E1510, marvell_of_reg_init was called too late, in the
    config_aneg function.
    Since commit 113c74d8 ("net: phy: turn carrier off on phy attach"),
    this lead to the link not coming up at boot anymore, due to the phy
    state machine being stuck at waiting for interrupts (off by default on
    the 88E1510).
    For seven other Marvell PHYs, marvell_of_reg_init was not called at all.
    
    Add a generic marvell_config_init function, which in turn calls
    marvell_of_reg_init.
    PHYs, which already have a specific config_init function with a call to
    marvell_of_reg_init, are left untouched. The generic marvell_config_init
    function is called for all the others, to get consistent behavior across
    all Marvell PHYs.
    
    Fixes: 113c74d8 ("net: phy: turn carrier off on phy attach")
    Signed-off-by: default avatarClemens Gruber <clemens.gruber@pqgruber.com>
    Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    79be1a1c
marvell.c 33.5 KB