mirror of https://gitee.com/openkylin/linux.git
ARM: at91: pm: call put_device instead of of_node_put in at91_pm_config_ws
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: d7484f5c6b
("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>
This commit is contained in:
parent
1e1f808f9d
commit
95590a6286
|
@ -143,15 +143,15 @@ static int at91_pm_config_ws(unsigned int pm_mode, bool set)
|
||||||
|
|
||||||
/* Check if enabled on SHDWC. */
|
/* Check if enabled on SHDWC. */
|
||||||
if (wsi->shdwc_mr_bit && !(val & wsi->shdwc_mr_bit))
|
if (wsi->shdwc_mr_bit && !(val & wsi->shdwc_mr_bit))
|
||||||
goto put_node;
|
goto put_device;
|
||||||
|
|
||||||
mode |= wsi->pmc_fsmr_bit;
|
mode |= wsi->pmc_fsmr_bit;
|
||||||
if (wsi->set_polarity)
|
if (wsi->set_polarity)
|
||||||
polarity |= wsi->pmc_fsmr_bit;
|
polarity |= wsi->pmc_fsmr_bit;
|
||||||
}
|
}
|
||||||
|
|
||||||
put_node:
|
put_device:
|
||||||
of_node_put(np);
|
put_device(&pdev->dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode) {
|
if (mode) {
|
||||||
|
|
Loading…
Reference in New Issue