net: hns3: handle pending reset while reset fail
authorHuazhong Tan <tanhuazhong@huawei.com>
Sat, 6 Apr 2019 07:43:32 +0000 (15:43 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Apr 2019 22:30:49 +0000 (15:30 -0700)
The ongoing lower-level reset will fail when there is a higher-level
reset occurs, so the error handler should deal with this situation.

Fixes: 6a5f6fa382f3 ("net: hns3: add error handler for hclgevf_reset()")
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c

index 509ff93f8cf504bbce64ce423e7497952a40e66e..0d9dd5e1e84cade011769d43a73d8c839e1d7b14 100644 (file)
@@ -1474,6 +1474,8 @@ err_reset:
         */
        hclgevf_cmd_init(hdev);
        dev_err(&hdev->pdev->dev, "failed to reset VF\n");
+       if (hclgevf_is_reset_pending(hdev))
+               hclgevf_reset_task_schedule(hdev);
 
        return ret;
 }