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: Peng Li <lipeng321@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
525a294e60
commit
b7cf22b74a
@ -138,12 +138,28 @@ EXPORT_SYMBOL(hnae3_register_client);
|
||||
|
||||
void hnae3_unregister_client(struct hnae3_client *client)
|
||||
{
|
||||
struct hnae3_client *client_tmp;
|
||||
struct hnae3_ae_dev *ae_dev;
|
||||
bool existed = false;
|
||||
|
||||
if (!client)
|
||||
return;
|
||||
|
||||
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 */
|
||||
list_for_each_entry(ae_dev, &hnae3_ae_dev_list, node) {
|
||||
hnae3_uninit_client_instance(client, ae_dev);
|
||||
|
Loading…
Reference in New Issue
Block a user