ARM: at91: pm: call put_device instead of of_node_put in at91_pm_config_ws
authorzhong jiang <zhongjiang@huawei.com>
Thu, 16 Aug 2018 10:26:22 +0000 (18:26 +0800)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 25 Sep 2018 10:26:17 +0000 (12:26 +0200)
of_find_device_by_node takes a reference to the struct device when it
finds a match via get_device. but it fails to put_device in
at91_pm_config_ws, for_each_matching_node_and_match will get and put
the node properly, there is no need to call the of_put_node. Therefore,
just call put_device instead of of_node_put in at91_pm_config_ws.

Fixes: d7484f5c6b3b ("ARM: at91: pm: configure wakeup sources for ULP1 mode")
Suggested-by: Claudiu Beznea <Claudiu.Beznea@microchip.com>
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
arch/arm/mach-at91/pm.c

index b6488d8..51e808a 100644 (file)
@@ -143,15 +143,15 @@ static int at91_pm_config_ws(unsigned int pm_mode, bool set)
 
                        /* Check if enabled on SHDWC. */
                        if (wsi->shdwc_mr_bit && !(val & wsi->shdwc_mr_bit))
-                               goto put_node;
+                               goto put_device;
 
                        mode |= wsi->pmc_fsmr_bit;
                        if (wsi->set_polarity)
                                polarity |= wsi->pmc_fsmr_bit;
                }
 
-put_node:
-               of_node_put(np);
+put_device:
+               put_device(&pdev->dev);
        }
 
        if (mode) {