浏览代码

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: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown 7 年之前
父节点
当前提交
267f3e4f18
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/base/regmap/regmap.c

+ 2 - 1
drivers/base/regmap/regmap.c

@@ -1116,7 +1116,8 @@ err_range:
 	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: