| From 40f51a111641262476181d1121ea08bd41794ff5 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 16 Aug 2018 18:26:22 +0800 |
| Subject: ARM: at91: pm: call put_device instead of of_node_put in |
| at91_pm_config_ws |
| |
| From: zhong jiang <zhongjiang@huawei.com> |
| |
| [ Upstream commit 95590a6286c547b7287d01c55515fb96b904aa03 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm/mach-at91/pm.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c |
| index 0921e2c10edfd..e2e4df3d11e53 100644 |
| --- a/arch/arm/mach-at91/pm.c |
| +++ b/arch/arm/mach-at91/pm.c |
| @@ -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) { |
| -- |
| 2.20.1 |
| |