diff mbox series

RDMA/hns: Fix missing put_device call in hns_roce_get_cfg

Message ID 20220110061234.28006-1-linmq006@gmail.com (mailing list archive)
State Changes Requested
Delegated to: Leon Romanovsky
Headers show
Series RDMA/hns: Fix missing put_device call in hns_roce_get_cfg | expand

Commit Message

Miaoqian Lin Jan. 10, 2022, 6:12 a.m. UTC
The reference taken by 'of_find_device_by_node()' must be released when
not needed anymore. And hns_roce_find_pdev() calls
bus_find_device_by_fwnode(), which calls bus_find_device().
We also need to drop the reference taken by bus_find_device.

Fixes: 08805fdbeb2d ("RDMA/hns: Split hw v1 driver from hns roce driver")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Leon Romanovsky Jan. 10, 2022, 7:44 a.m. UTC | #1
On Mon, Jan 10, 2022 at 06:12:34AM +0000, Miaoqian Lin wrote:
> The reference taken by 'of_find_device_by_node()' must be released when
> not needed anymore. And hns_roce_find_pdev() calls
> bus_find_device_by_fwnode(), which calls bus_find_device().
> We also need to drop the reference taken by bus_find_device.
> 
> Fixes: 08805fdbeb2d ("RDMA/hns: Split hw v1 driver from hns roce driver")
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 1 +
>  1 file changed, 1 insertion(+)

This file was removed in the commit 38d220882426 ("RDMA/hns: Remove
support for HIP06").

BTW, please recheck your patch submission flow, the received emails have
broken "To ..." field that makes reply do not work.

Thanks
Miaoqian Lin Jan. 10, 2022, 8:23 a.m. UTC | #2
Hi Leon,
On Mon, Jan 10, 2022 at 09:44:12AM +0200, Leon Romanovsky wrote:
> 
> This file was removed in the commit 38d220882426 ("RDMA/hns: Remove
> support for HIP06").
> 
> BTW, please recheck your patch submission flow, the received emails have
> broken "To ..." field that makes reply do not work.
> 
Thanks for reminding me. I'll check it.
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
index f4af3992ba95..1bffeba55304 100644
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
@@ -4545,6 +4545,7 @@  static int hns_roce_get_cfg(struct hns_roce_dev *hr_dev)
 				hr_dev->iboe.netdevs[port_cnt] = netdev;
 				hr_dev->iboe.phy_port[port_cnt] = phy_port;
 			} else {
+				put_device(&pdev->dev);
 				dev_err(dev, "no netdev found with pdev %s\n",
 					pdev->name);
 				return -ENODEV;