• Enric Balletbo i Serra's avatar
    smsc911x: power-up phydev before doing a software reset. · ccf899a2
    Enric Balletbo i Serra authored
    With commit be9dad1f ("net: phy: suspend phydev when going
    to HALTED"), the PHY device will be put in a low-power mode using
    BMCR_PDOWN if the the interface is set down. The smsc911x driver does
    a software_reset opening the device driver (ndo_open). In such case,
    the PHY must be powered-up before access to any register and before
    calling the software_reset function. Otherwise, as the PHY is powered
    down the software reset fails and the interface can not be enabled
    again.
    
    This patch fixes this scenario that is easy to reproduce setting down
    the network interface and setting up again.
    
        $ ifconfig eth0 down
        $ ifconfig eth0 up
        ifconfig: SIOCSIFFLAGS: Input/output error
    Signed-off-by: default avatarEnric Balletbo i Serra <eballetbo@iseebcn.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ccf899a2
smsc911x.c 69.7 KB