diff options
author | Huang Zijiang <huang.zijiang@zte.com.cn> | 2019-02-14 14:41:45 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-03-23 13:19:42 +0100 |
commit | 4d8854af81cfe2df66a4bc171fb8f014b69e28e0 (patch) | |
tree | 4d52209fb7be9f0c7739b308a1f8c98d71288af5 | |
parent | 484e89a9a7831093f0550becc1b525121be77f3d (diff) | |
download | linux-stable-4d8854af81cfe2df66a4bc171fb8f014b69e28e0.tar.gz linux-stable-4d8854af81cfe2df66a4bc171fb8f014b69e28e0.tar.bz2 linux-stable-4d8854af81cfe2df66a4bc171fb8f014b69e28e0.zip |
net: hns: Fix object reference leaks in hns_dsaf_roce_reset()
[ Upstream commit c969c6e7ab8cb42b5c787c567615474fdbad9d6a ]
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@zte.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c index 5bb019d49409..551b2a9ebf0f 100644 --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c @@ -2820,6 +2820,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; } @@ -2827,6 +2828,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; } |