[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1550126505-28394-1-git-send-email-huang.zijiang@zte.com.cn>
Date: Thu, 14 Feb 2019 14:41:45 +0800
From: Huang Zijiang <huang.zijiang@....com.cn>
To: yisen.zhuang@...wei.com
Cc: salil.mehta@...wei.com, davem@...emloft.net, lipeng321@...wei.com,
liuyonglong@...wei.com, yuehaibing@...wei.com,
keescook@...omium.org, wangxi11@...wei.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, wang.yi59@....com.cn,
Huang Zijiang <huang.zijiang@....com.cn>
Subject: [PATCH] net: hns: Fix object reference leaks in hns_dsaf_roce_reset()
The of_find_device_by_node() takes a reference to the underlying device
structure, we should release that reference.
Signed-off-by: Huang Zijiang <huang.zijiang@....com.cn>
---
drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
index 14d7ec7..697d929 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
@@ -3081,6 +3081,7 @@ int hns_dsaf_roce_reset(struct fwnode_handle *dsaf_fwnode, bool dereset)
dsaf_dev = dev_get_drvdata(&pdev->dev);
if (!dsaf_dev) {
dev_err(&pdev->dev, "dsaf_dev is NULL\n");
+ put_device(&pdev->dev);
return -ENODEV;
}
@@ -3088,6 +3089,7 @@ int hns_dsaf_roce_reset(struct fwnode_handle *dsaf_fwnode, bool dereset)
if (AE_IS_VER1(dsaf_dev->dsaf_ver)) {
dev_err(dsaf_dev->dev, "%s v1 chip doesn't support RoCE!\n",
dsaf_dev->ae_dev.name);
+ put_device(&pdev->dev);
return -ENODEV;
}
--
1.8.3.1
Powered by blists - more mailing lists