mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-04 08:08:54 +00:00
reset: Do not register resource data for missing resets
[ Upstream commit db23808615
]
When an optional reset is not present, __devm_reset_control_get() and
devm_reset_control_array_get() still register resource data to release
the non-existing reset on cleanup, which is futile.
Fix this by skipping NULL reset control pointers.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
ec32cd3673
commit
dcdf7b5742
1 changed files with 2 additions and 2 deletions
|
@ -787,7 +787,7 @@ struct reset_control *__devm_reset_control_get(struct device *dev,
|
|||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
rstc = __reset_control_get(dev, id, index, shared, optional, acquired);
|
||||
if (!IS_ERR(rstc)) {
|
||||
if (!IS_ERR_OR_NULL(rstc)) {
|
||||
*ptr = rstc;
|
||||
devres_add(dev, ptr);
|
||||
} else {
|
||||
|
@ -930,7 +930,7 @@ devm_reset_control_array_get(struct device *dev, bool shared, bool optional)
|
|||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
rstc = of_reset_control_array_get(dev->of_node, shared, optional, true);
|
||||
if (IS_ERR(rstc)) {
|
||||
if (IS_ERR_OR_NULL(rstc)) {
|
||||
devres_free(devres);
|
||||
return rstc;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue