OSDN Git Service

leds-as3645a: Drop fwnode reference on ignored node
authorSakari Ailus <sakari.ailus@linux.intel.com>
Wed, 4 Dec 2019 07:56:42 +0000 (09:56 +0200)
committerPavel Machek <pavel@ucw.cz>
Wed, 22 Jan 2020 20:07:10 +0000 (21:07 +0100)
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.

Reported-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-as3645a.c

index b7e0ae1..e8922fa 100644 (file)
@@ -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) {