Re: [PATCH] MIPS: OCTEON: add put_device() after of_find_device_by_node()

From: Thomas Bogendoerfer
Date: Thu Dec 16 2021 - 10:07:57 EST


On Tue, Nov 16, 2021 at 08:10:51AM +0000, cgel.zte@xxxxxxxxx wrote:
> From: Ye Guojin <ye.guojin@xxxxxxxxxx>
>
> This was found by coccicheck:
> ./arch/mips/cavium-octeon/octeon-platform.c, 332, 1-7, ERROR missing
> put_device; call of_find_device_by_node on line 324, but without a
> corresponding object release within this function.
> ./arch/mips/cavium-octeon/octeon-platform.c, 395, 1-7, ERROR missing
> put_device; call of_find_device_by_node on line 387, but without a
> corresponding object release within this function.
> ./arch/mips/cavium-octeon/octeon-usb.c, 512, 3-9, ERROR missing
> put_device; call of_find_device_by_node on line 515, but without a
> corresponding object release within this function.
> ./arch/mips/cavium-octeon/octeon-usb.c, 543, 1-7, ERROR missing
> put_device; call of_find_device_by_node on line 515, but without a
> corresponding object release within this function.
>
> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Ye Guojin <ye.guojin@xxxxxxxxxx>
> ---
> arch/mips/cavium-octeon/octeon-platform.c | 2 ++
> arch/mips/cavium-octeon/octeon-usb.c | 1 +
> 2 files changed, 3 insertions(+)
>
> diff --git a/arch/mips/cavium-octeon/octeon-platform.c b/arch/mips/cavium-octeon/octeon-platform.c
> index d56e9b9d2e43..a994022e32c9 100644
> --- a/arch/mips/cavium-octeon/octeon-platform.c
> +++ b/arch/mips/cavium-octeon/octeon-platform.c
> @@ -328,6 +328,7 @@ static int __init octeon_ehci_device_init(void)
>
> pd->dev.platform_data = &octeon_ehci_pdata;
> octeon_ehci_hw_start(&pd->dev);
> + put_device(&pd->dev);
>
> return ret;
> }
> @@ -391,6 +392,7 @@ static int __init octeon_ohci_device_init(void)
>
> pd->dev.platform_data = &octeon_ohci_pdata;
> octeon_ohci_hw_start(&pd->dev);
> + put_device(&pd->dev);
>
> return ret;
> }
> diff --git a/arch/mips/cavium-octeon/octeon-usb.c b/arch/mips/cavium-octeon/octeon-usb.c
> index 6e4d3619137a..4df919d26b08 100644
> --- a/arch/mips/cavium-octeon/octeon-usb.c
> +++ b/arch/mips/cavium-octeon/octeon-usb.c
> @@ -537,6 +537,7 @@ static int __init dwc3_octeon_device_init(void)
> devm_iounmap(&pdev->dev, base);
> devm_release_mem_region(&pdev->dev, res->start,
> resource_size(res));
> + put_device(&pdev->dev);
> }
> } while (node != NULL);
>
> --
> 2.25.1

applied to mips-next.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]