Commit b7cf22b7 authored by Peng Li's avatar Peng Li Committed by David S. Miller

net: hns3: add client node validity judgment

HNS3 driver can only unregister client which included in hnae3_client_list.
This patch adds the client node validity judgment.
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 525a294e
...@@ -138,12 +138,28 @@ EXPORT_SYMBOL(hnae3_register_client); ...@@ -138,12 +138,28 @@ EXPORT_SYMBOL(hnae3_register_client);
void hnae3_unregister_client(struct hnae3_client *client) void hnae3_unregister_client(struct hnae3_client *client)
{ {
struct hnae3_client *client_tmp;
struct hnae3_ae_dev *ae_dev; struct hnae3_ae_dev *ae_dev;
bool existed = false;
if (!client) if (!client)
return; return;
mutex_lock(&hnae3_common_lock); mutex_lock(&hnae3_common_lock);
list_for_each_entry(client_tmp, &hnae3_client_list, node) {
if (client_tmp->type == client->type) {
existed = true;
break;
}
}
if (!existed) {
mutex_unlock(&hnae3_common_lock);
pr_err("client %s does not exist!\n", client->name);
return;
}
/* un-initialize the client on every matched port */ /* un-initialize the client on every matched port */
list_for_each_entry(ae_dev, &hnae3_ae_dev_list, node) { list_for_each_entry(ae_dev, &hnae3_ae_dev_list, node) {
hnae3_uninit_client_instance(client, ae_dev); hnae3_uninit_client_instance(client, ae_dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment