diff mbox series

leds: lp50xx: add missing fwnode_handle_put in error handling case

Message ID 20201111032159.17833-1-miaoqinglang@huawei.com
State Superseded
Headers show
Series leds: lp50xx: add missing fwnode_handle_put in error handling case | expand

Commit Message

'Qinglang Miao Nov. 11, 2020, 3:21 a.m. UTC
Fix to goto child_out to do fwnode_handle_put(child)
from 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>
Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>
---
 drivers/leds/leds-lp50xx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

'Qinglang Miao Nov. 19, 2020, 7:05 a.m. UTC | #1
在 2020/11/11 21:27, Dan Murphy 写道:
> Hello

> 

> On 11/10/20 9:21 PM, Qinglang Miao wrote:

>> Fix to goto child_out to do fwnode_handle_put(child)

>> from 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>

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

>> ---

>>   drivers/leds/leds-lp50xx.c | 2 +-

>>   1 file changed, 1 insertion(+), 1 deletion(-)

>>

>> diff --git a/drivers/leds/leds-lp50xx.c b/drivers/leds/leds-lp50xx.c

>> index 5fb4f24aeb2e..49a997b2c781 100644

>> --- a/drivers/leds/leds-lp50xx.c

>> +++ b/drivers/leds/leds-lp50xx.c

>> @@ -488,7 +488,7 @@ 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;

>> +            goto child_out;

> 

> Thanks for the patch.

> 

> Need to set ret = -ENOMEM; then do child_out so the error is reported 

> properly

> 

> Dan

> .

Hi Dan,

I've sent v2 on this fix, setting ret as well.

Thanks!
diff mbox series

Patch

diff --git a/drivers/leds/leds-lp50xx.c b/drivers/leds/leds-lp50xx.c
index 5fb4f24aeb2e..49a997b2c781 100644
--- a/drivers/leds/leds-lp50xx.c
+++ b/drivers/leds/leds-lp50xx.c
@@ -488,7 +488,7 @@  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;
+			goto child_out;
 
 		fwnode_for_each_child_node(child, led_node) {
 			ret = fwnode_property_read_u32(led_node, "color",