diff mbox series

[v2] leds: lp50xx: add missing fwnode_handle_put in error handling case

Message ID 20201119070841.712-1-miaoqinglang@huawei.com
State New
Headers show
Series [v2] leds: lp50xx: add missing fwnode_handle_put in error handling case | expand

Commit Message

'Qinglang Miao Nov. 19, 2020, 7:08 a.m. UTC
Fix to set ret and goto child_out for fwnode_handle_put(child)
in the error handling case rather than simply return, as done
elsewhere in this function.

Fixes: 242b81170fb8 ("leds: lp50xx: Add the LP50XX family of the RGB LED driver")
Reported-by: Hulk Robot <hulkci@huawei.com>
Suggested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>
---
 v2: forget to set ret on v1

 drivers/leds/leds-lp50xx.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Dan Murphy Nov. 19, 2020, 9:10 p.m. UTC | #1
Hello

On 11/19/20 1:08 AM, Qinglang Miao wrote:
> Fix to set ret and goto child_out for fwnode_handle_put(child)
> in the error handling case rather than simply return, as done
> elsewhere in this function.
>
> Fixes: 242b81170fb8 ("leds: lp50xx: Add the LP50XX family of the RGB LED driver")
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Suggested-by: Pavel Machek <pavel@ucw.cz>
> Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>
> ---
>   v2: forget to set ret on v1
>
>   drivers/leds/leds-lp50xx.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/leds/leds-lp50xx.c b/drivers/leds/leds-lp50xx.c
> index 5fb4f24ae..f13117eed 100644
> --- a/drivers/leds/leds-lp50xx.c
> +++ b/drivers/leds/leds-lp50xx.c
> @@ -487,8 +487,10 @@ static int lp50xx_probe_dt(struct lp50xx *priv)
>   		 */
>   		mc_led_info = devm_kcalloc(priv->dev, LP50XX_LEDS_PER_MODULE,
>   					   sizeof(*mc_led_info), GFP_KERNEL);
> -		if (!mc_led_info)
> -			return -ENOMEM;
> +		if (!mc_led_info) {
> +			ret = -ENOMEM;
> +			goto child_out;
> +		}
>   
>   		fwnode_for_each_child_node(child, led_node) {
>   			ret = fwnode_property_read_u32(led_node, "color",
Reviewed-by: Dan Murphy <dmurphy@ti.com>
Pavel Machek Nov. 25, 2020, 7:48 p.m. UTC | #2
Hi!

> Fix to set ret and goto child_out for fwnode_handle_put(child)

> in the error handling case rather than simply return, as done

> elsewhere in this function.

> 

> Fixes: 242b81170fb8 ("leds: lp50xx: Add the LP50XX family of the RGB LED driver")

> Reported-by: Hulk Robot <hulkci@huawei.com>

> Suggested-by: Pavel Machek <pavel@ucw.cz>

> Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>


Thanks, applied.

Best regards,
							Pavel
							
-- 
http://www.livejournal.com/~pavelmachek
Pavel Machek Nov. 25, 2020, 7:50 p.m. UTC | #3
On Thu 2020-11-19 15:08:41, Qinglang Miao wrote:
> Fix to set ret and goto child_out for fwnode_handle_put(child)

> in the error handling case rather than simply return, as done

> elsewhere in this function.

> 

> Fixes: 242b81170fb8 ("leds: lp50xx: Add the LP50XX family of the RGB LED driver")

> Reported-by: Hulk Robot <hulkci@huawei.com>

> Suggested-by: Pavel Machek <pavel@ucw.cz>

> Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>


Sorry, spoke too fast. We already had equivalent patch in by

    Fixes: 242b81170fb8 ("leds: lp50xx: Add the LP50XX family of the
    RGB LED driver")
        Signed-off-by: Christophe JAILLET

    <christophe.jaillet@wanadoo.fr>

Let me push that out in few minutes.. so you can double-check.

Sorry for confusion,

								Pavel

-- 
http://www.livejournal.com/~pavelmachek
diff mbox series

Patch

diff --git a/drivers/leds/leds-lp50xx.c b/drivers/leds/leds-lp50xx.c
index 5fb4f24ae..f13117eed 100644
--- a/drivers/leds/leds-lp50xx.c
+++ b/drivers/leds/leds-lp50xx.c
@@ -487,8 +487,10 @@  static int lp50xx_probe_dt(struct lp50xx *priv)
 		 */
 		mc_led_info = devm_kcalloc(priv->dev, LP50XX_LEDS_PER_MODULE,
 					   sizeof(*mc_led_info), GFP_KERNEL);
-		if (!mc_led_info)
-			return -ENOMEM;
+		if (!mc_led_info) {
+			ret = -ENOMEM;
+			goto child_out;
+		}
 
 		fwnode_for_each_child_node(child, led_node) {
 			ret = fwnode_property_read_u32(led_node, "color",