• Daniel Pieczko's avatar
    sfc: fully reset if MC_REBOOT event received without warm_boot_count increment · c577e59e
    Daniel Pieczko authored
    On EF10, MC_CMD_VPORT_RECONFIGURE can cause a CODE_MC_REBOOT event
    to be sent to a function without incrementing the (adapter-wide)
    warm_boot_count.  In this case, the reboot is not detected by the
    loop on efx_mcdi_poll_reboot(), so prepare for recovery from an MC
    reboot anyway.  When this codepath is run, the MC has always just
    rebooted, so this recovery is valid.
    
    The loop on efx_mcdi_poll_reboot() is still required for other MC
    reboot cases, so that actions in response to an MC reboot are
    performed, such as clearing locally calculated statistics.
    Siena NICs are unaffected by this change as the above scenario
    does not apply.
    Signed-off-by: default avatarShradha Shah <sshah@solarflare.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c577e59e
ef10.c 141 KB