]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
net: hns3: check reset pending after FLR prepare
authorHuazhong Tan <tanhuazhong@huawei.com>
Mon, 6 Jul 2020 11:25:59 +0000 (19:25 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Jul 2020 19:33:28 +0000 (12:33 -0700)
If there is a PF reset pending before FLR prepare, FLR's
preparatory work will not fail, but the FLR rebuild procedure
will fail for this pending. So this PF reset pending should
be handled in the FLR preparatory.

Fixes: 8627bdedc435 ("net: hns3: refactor the precedure of PF FLR")
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index 96bfad52630d3d29fd2c13c62d6f727a1210ef22..d6bfdc6520dff7f5b71ea345e669533a7d566abf 100644 (file)
@@ -9859,7 +9859,7 @@ retry:
        set_bit(HCLGE_STATE_RST_HANDLING, &hdev->state);
        hdev->reset_type = HNAE3_FLR_RESET;
        ret = hclge_reset_prepare(hdev);
-       if (ret) {
+       if (ret || hdev->reset_pending) {
                dev_err(&hdev->pdev->dev, "fail to prepare FLR, ret=%d\n",
                        ret);
                if (hdev->reset_pending ||