Skip to content

Commit

Permalink
net: hns3: Reset net device with rtnl_lock
Browse files Browse the repository at this point in the history
Since current locking was not covering certain code where
netdev was being accessed or manipulated, this patch fixes
it.

Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Huazhong Tan authored and David S. Miller committed Jul 16, 2018
1 parent 1b37257 commit 6d4fab3
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2820,15 +2820,13 @@ static void hclge_clear_reset_cause(struct hclge_dev *hdev)
static void hclge_reset(struct hclge_dev *hdev)
{
/* perform reset of the stack & ae device for a client */

rtnl_lock();
hclge_notify_client(hdev, HNAE3_DOWN_CLIENT);

if (!hclge_reset_wait(hdev)) {
rtnl_lock();
hclge_notify_client(hdev, HNAE3_UNINIT_CLIENT);
hclge_reset_ae_dev(hdev->ae_dev);
hclge_notify_client(hdev, HNAE3_INIT_CLIENT);
rtnl_unlock();

hclge_clear_reset_cause(hdev);
} else {
Expand All @@ -2838,6 +2836,7 @@ static void hclge_reset(struct hclge_dev *hdev)
}

hclge_notify_client(hdev, HNAE3_UP_CLIENT);
rtnl_unlock();
}

static void hclge_reset_event(struct hnae3_handle *handle)
Expand Down

0 comments on commit 6d4fab3

Please sign in to comment.