Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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);