• Michael Chan's avatar
    bnxt_en: Fix error recovery regression · eca4cf12
    Michael Chan authored
    The recent patch has introduced a regression by not reading the reset
    count in the ERROR_RECOVERY async event handler.  We may have just
    gone through a reset and the reset count has just incremented.  If
    we don't update the reset count in the ERROR_RECOVERY event handler,
    the health check timer will see that the reset count has changed and
    will initiate an unintended reset.
    
    Restore the unconditional update of the reset count in
    bnxt_async_event_process() if error recovery watchdog is enabled.
    Also, update the reset count at the end of the reset sequence to
    make it even more robust.
    
    Fixes: 1b2b9183 ("bnxt_en: Fix possible unintended driver initiated error recovery")
    Reviewed-by: default avatarEdwin Peer <edwin.peer@broadcom.com>
    Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    eca4cf12
bnxt.c 352 KB