• Huazhong Tan's avatar
    net: hns3: add error handler for hclge_reset() · 65e41e7e
    Huazhong Tan authored
    When hclge_reset() is called, it may fail for several reasons.
    For example, an higher-level reset event occurs, memory allocation
    failure, hardware reset timeout, etc. Therefore, it is necessary
    to add corresponding error handling for these situations.
    1. A high-level reset is required due to a high-level reset failure.
    2. For memory allocation failure, a high-level reset is initiated by
    the timer to recover. The reason for using the timer is to prevent this
    new high-level reset to interrupt the reset process of other pf/vf;
    3. For the case of hardware reset timeout, reschedule the reset task
    to wait for the hardware to complete the reset.
    For memory allocation failure and reset timeouts, in order to prevent
    an infinite number of scheduled reset tasks, the number of error
    recovery needs to be limited.
    
    This patch also add some reset related debug log printing.
    Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    65e41e7e
hclge_main.c 196 KB