• Michael Chan's avatar
    cnic: Improve error recovery on bnx2x devices · 23021c21
    Michael Chan authored
    When a bnx2x device encounters parity errors, it will not respond to all
    SPQ messages.  As a result, the shutdown sequence before reset can take
    a long time as the ulp drivers (bnx2i/bnx2fc) have to wait for timeout
    of all such messages.
    
    To improve this scenario, when bnx2x returns error on the SPQ, we'll send
    an immediate response to the ulp drivers to avoid such lengthy timeouts.
    
    Adjust the return code of relevant functions to return error only if
    the message cannot be sent on the SPQ so that we'll generate an error
    completion to the ulp drivers.
    Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    23021c21
cnic.c 143 KB