Commit 267f3e4f authored by Mark Brown's avatar Mark Brown

regmap: Also protect hwspinlock in error handling path

The previous patch to allow the hwspinlock code to be disabled missed
handling the free in the error path, do so using the better IS_ENABLED()
pattern as suggested by Baolin. While we're at it also check that we have
a hardware spinlock before freeing it - the core code reports an error
when freeing an invalid lock.
Suggested-by: default avatarBaolin Wang <baolin.wang@linaro.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f25637a6
......@@ -1116,7 +1116,8 @@ struct regmap *__regmap_init(struct device *dev,
regmap_range_exit(map);
kfree(map->work_buf);
err_hwlock:
hwspin_lock_free(map->hwlock);
if (IS_ENABLED(REGMAP_HWSPINLOCK) && map->hwlock)
hwspin_lock_free(map->hwlock);
err_map:
kfree(map);
err:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment