diff options
author | Guangbin Huang <huangguangbin2@huawei.com> | 2020-09-08 10:59:49 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-09-08 19:51:40 -0700 |
commit | e639436339318799a45a87bcefffd66d122f4893 (patch) | |
tree | 60788fa0b18b7a8b6ca0f4c1345c40c4e2e0c429 /drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | |
parent | net: hns3: narrow two local variable range in hclgevf_reset_prepare_wait() (diff) | |
download | linux-dev-e639436339318799a45a87bcefffd66d122f4893.tar.xz linux-dev-e639436339318799a45a87bcefffd66d122f4893.zip |
net: hns3: skip periodic service task if reset failed
When reset fails, if there are some pending jobs for the periodic
service task, it does not do anything except print error each
time the task is scheduled. So skip the periodic service task if
reset failed.
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c index 20dd04cc6d22..20dd50dd765a 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c @@ -2186,6 +2186,9 @@ static void hclgevf_periodic_service_task(struct hclgevf_dev *hdev) unsigned long delta = round_jiffies_relative(HZ); struct hnae3_handle *handle = &hdev->nic; + if (test_bit(HCLGEVF_STATE_RST_FAIL, &hdev->state)) + return; + if (time_is_after_jiffies(hdev->last_serv_processed + HZ)) { delta = jiffies - hdev->last_serv_processed; |