• Russell King's avatar
    net: marvell: mvpp2: phylink requires the link interrupt · f3f2364e
    Russell King authored
    phylink requires the MAC to report when its link status changes when
    operating in inband modes.  Failure to report link status changes
    means that phylink has no idea when the link events happen, which
    results in either the network interface's carrier remaining up or
    remaining permanently down.
    
    For example, with a fiber module, if the interface is brought up and
    link is initially established, taking the link down at the far end
    will cut the optical power.  The SFP module's LOS asserts, we
    deactivate the link, and the network interface reports no carrier.
    
    When the far end is brought back up, the SFP module's LOS deasserts,
    but the MAC may be slower to establish link.  If this happens (which
    in my tests is a certainty) then phylink never hears that the MAC
    has established link with the far end, and the network interface is
    stuck reporting no carrier.  This means the interface is
    non-functional.
    
    Avoiding the link interrupt when we have phylink is basically not
    an option, so remove the !port->phylink from the test.
    
    Fixes: 4bb04326 ("net: mvpp2: phylink support")
    Tested-by: default avatarSven Auhagen <sven.auhagen@voleatech.de>
    Tested-by: default avatarAntoine Tenart <antoine.tenart@bootlin.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
    f3f2364e
mvpp2_main.c 161 KB