diff options
author | Huazhong Tan <tanhuazhong@huawei.com> | 2019-06-20 11:52:44 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-26 18:59:02 +0300 |
commit | 72fcd2bed719c6587dfea74e30bcdf6f9b64b18e (patch) | |
tree | 4c4be92e7c99be12abfae5a32b03b310d7c17fe7 /drivers/net/ethernet/hisilicon/hns3/hns3pf | |
parent | 7cf9c069430fce7142da7039cc453902df11259b (diff) | |
download | linux-72fcd2bed719c6587dfea74e30bcdf6f9b64b18e.tar.xz |
net: hns3: fixes wrong place enabling ROCE HW error when loading
The ROCE HW errors should only be enabled when initializing ROCE's
client, the current code enable it no matter initializing NIC or
ROCE client.
So this patch fixes it.
Fixes: 00ea6e5fda9d ("net: hns3: delay and separate enabling of NIC and ROCE HW errors")
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/hisilicon/hns3/hns3pf')
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index 53dbef9ba771..b0a99c30a384 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -8349,6 +8349,14 @@ static int hclge_init_roce_client_instance(struct hnae3_ae_dev *ae_dev, goto init_roce_err; } + /* Enable roce ras interrupts */ + ret = hclge_config_rocee_ras_interrupt(hdev, true); + if (ret) { + dev_err(&ae_dev->pdev->dev, + "fail(%d) to enable roce ras interrupts\n", ret); + goto init_roce_err; + } + hnae3_set_client_init_flag(client, ae_dev, 1); return 0; @@ -8403,12 +8411,6 @@ static int hclge_init_client_instance(struct hnae3_client *client, } } - /* Enable roce ras interrupts */ - ret = hclge_config_rocee_ras_interrupt(hdev, true); - if (ret) - dev_err(&ae_dev->pdev->dev, - "fail(%d) to enable roce ras interrupts\n", ret); - return ret; clear_nic: |