Skip to content
  • Geert Uytterhoeven's avatar
    net: smsc911x: Quieten netif during suspend · 2aa70f86
    Geert Uytterhoeven authored
    
    
    If the network interface is kept running during suspend, the net core
    may call net_device_ops.ndo_start_xmit() while the Ethernet device is
    still suspended, which may lead to a system crash.
    
    E.g. on sh73a0/kzm9g and r8a73a4/ape6evm, the external Ethernet chip is
    driven by a PM controlled clock.  If the Ethernet registers are accessed
    while the clock is not running, the system will crash with an imprecise
    external abort.
    
    As this is a race condition with a small time window, it is not so easy
    to trigger at will.  Using pm_test may increase your chances:
    
        # echo 0 > /sys/module/printk/parameters/console_suspend
        # echo platform > /sys/power/pm_test
        # echo mem > /sys/power/state
    
    To fix this, make sure the network interface is quietened during
    suspend.
    
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2aa70f86