• Shannon Nelson's avatar
    ionic: add FW_STOPPING state · 398d1e37
    Shannon Nelson authored
    Between fw running and fw actually stopped into reset, we need
    a fw_stopping concept to catch and block some actions while
    we're transitioning to FW_RESET state.  This will help to be
    sure the fw_up task is not scheduled until after the fw_down
    task has completed.
    
    On some rare occasion timing, it is possible for the fw_up task
    to try to run before the fw_down task, then not get run after
    the fw_down task has run, leaving the device in a down state.
    This is possible if the watchdog goes off in between finding the
    down transition and starting the fw_down task, where the later
    watchdog sees the FW is back up and schedules a fw_up task.
    
    Fixes: c672412f ("ionic: remove lifs on fw reset")
    Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    398d1e37
ionic_main.c 15.9 KB