On Wed, Dec 04, 2019 at 09:56:42AM +0200, Sakari Ailus wrote: > If a node is ignored, do not get a reference to it. Fix the bug by moving > fwnode_handle_get() where a reference to an fwnode is saved for clarity. > FWIW, Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Reported-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > --- > drivers/leds/leds-as3645a.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/leds/leds-as3645a.c b/drivers/leds/leds-as3645a.c > index b7e0ae1af8fa5..e8922fa033796 100644 > --- a/drivers/leds/leds-as3645a.c > +++ b/drivers/leds/leds-as3645a.c > @@ -493,16 +493,17 @@ static int as3645a_parse_node(struct as3645a *flash, > switch (id) { > case AS_LED_FLASH: > flash->flash_node = child; > + fwnode_handle_get(child); > break; > case AS_LED_INDICATOR: > flash->indicator_node = child; > + fwnode_handle_get(child); > break; > default: > dev_warn(&flash->client->dev, > "unknown LED %u encountered, ignoring\n", id); > break; > } > - fwnode_handle_get(child); > } > > if (!flash->flash_node) { > -- > 2.20.1 > -- With Best Regards, Andy Shevchenko