• Zefir Kurtisi's avatar
    at803x: double check SGMII side autoneg · f62265b5
    Zefir Kurtisi authored
    In SGMII mode, we observed an autonegotiation issue
    after power-down-up cycles where the copper side
    reports successful link establishment but the
    SGMII side's link is down.
    
    This happened in a setup where the at8031 is
    connected over SGMII to a eTSEC (fsl gianfar),
    but so far could not be reproduced with other
    Ethernet device / driver combinations.
    
    This commit adds a wrapper function for at8031
    that in case of operating in SGMII mode double
    checks SGMII link state when generic aneg_done()
    succeeds. It prints a warning on failure but
    intentionally does not try to recover from this
    state. As a result, if you ever see a warning
    '803x_aneg_done: SGMII link is not ok' you will
    end up having an Ethernet link up but won't get
    any data through. This should not happen, if it
    does, please contact the module maintainer.
    Signed-off-by: default avatarZefir Kurtisi <zefir.kurtisi@neratec.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f62265b5
at803x.c 11.5 KB