• Russell King (Oracle)'s avatar
    net: sfp: fix high power modules without diagnostic monitoring · 5765cee1
    Russell King (Oracle) authored
    Commit 7cfa9c92 ("net: sfp: avoid power switch on address-change
    modules") unintetionally changed the semantics for high power modules
    without the digital diagnostics monitoring. We repeatedly attempt to
    read the power status from the non-existing 0xa2 address in a futile
    hope this failure is temporary:
    
    [    8.856051] sfp sfp-eth3: module NTT              0000000000000000 rev 0000  sn 0000000000000000 dc 160408
    [    8.865843] mvpp2 f4000000.ethernet eth3: switched to inband/1000base-x link mode
    [    8.873469] sfp sfp-eth3: Failed to read EEPROM: -5
    [    8.983251] sfp sfp-eth3: Failed to read EEPROM: -5
    [    9.103250] sfp sfp-eth3: Failed to read EEPROM: -5
    
    We previosuly assumed such modules were powered up in the correct mode,
    continuing without further configuration as long as the required power
    class was supported by the host.
    
    Restore this behaviour, while preserving the intent of subsequent
    patches to avoid the "Address Change Sequence not supported" warning
    if we are not going to be accessing the DDM address.
    
    Fixes: 7cfa9c92 ("net: sfp: avoid power switch on address-change modules")
    Reported-by: default avatar照山周一郎 <teruyama@springboard-inc.jp>
    Tested-by: default avatar照山周一郎 <teruyama@springboard-inc.jp>
    Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5765cee1
sfp.c 64 KB