On 04.09.2019 17:06, Huazhong Tan wrote:

From: Peng Li <[email protected]>

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 <[email protected]>
Signed-off-by: Huazhong Tan <[email protected]>
---
  drivers/net/ethernet/hisilicon/hns3/hnae3.c | 16 ++++++++++++++++
  1 file changed, 16 insertions(+)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hnae3.c 
b/drivers/net/ethernet/hisilicon/hns3/hnae3.c
index 528f624..6aa5257 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hnae3.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hnae3.c
@@ -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 not existed!\n", client->name);

   Did not exist, you mean?

[...]

MBR, Sergei

Reply via email to