• Javier Martinez Canillas's avatar
    net/smsc911x: Check if PHY is in operational mode before software reset · 6386994e
    Javier Martinez Canillas authored
    SMSC LAN generation 4 chips integrate an IEEE 802.3 ethernet physical layer.
    The PHY driver for this integrated chip enable an energy detect power-down mode.
    When the PHY is in a power-down mode, it prevents the MAC portion chip to be
    software reseted.
    
    That means that if we compile the kernel with the configuration option SMSC_PHY
    enabled and try to bring the network interface up without an cable plug-ed the
    PHY will be in a low power mode and the software reset will fail returning -EIO
    to user-space:
    
    root@igep00x0:~# ifconfig eth0 up
    ifconfig: SIOCSIFFLAGS: Input/output error
    
    This patch disable the energy detect power-down mode before trying to software
    reset the LAN chip and re-enables after it was reseted successfully.
    Signed-off-by: default avatarJavier Martinez Canillas <javier@dowhile0.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6386994e
smsc911x.c 68 KB