MIPS: OCTEON: add put_device() after of_find_device_by_node()
authorYe Guojin <ye.guojin@zte.com.cn>
Tue, 16 Nov 2021 08:10:51 +0000 (08:10 +0000)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Thu, 16 Dec 2021 14:57:57 +0000 (15:57 +0100)
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@zte.com.cn>
Signed-off-by: Ye Guojin <ye.guojin@zte.com.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/cavium-octeon/octeon-platform.c
arch/mips/cavium-octeon/octeon-usb.c

index d56e9b9..a994022 100644 (file)
@@ -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;
 }
index 6e4d361..4df919d 100644 (file)
@@ -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);