Commit bfaa25f3 authored by Stephen Warren's avatar Stephen Warren Committed by Mark Brown

regmap: clean up debugfs if regmap_init fails

If debugfs isn't cleaned up, stale files will be left in the filesystem
which will cause an OOPS when accessed the first time, and hang the
accessing application when accessed again, presumably due to some lock
being left held.
Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent f8f5701b
...@@ -368,7 +368,7 @@ struct regmap *regmap_init(struct device *dev, ...@@ -368,7 +368,7 @@ struct regmap *regmap_init(struct device *dev,
ret = regcache_init(map, config); ret = regcache_init(map, config);
if (ret < 0) if (ret < 0)
goto err_free_workbuf; goto err_debugfs;
/* Add a devres resource for dev_get_regmap() */ /* Add a devres resource for dev_get_regmap() */
m = devres_alloc(dev_get_regmap_release, sizeof(*m), GFP_KERNEL); m = devres_alloc(dev_get_regmap_release, sizeof(*m), GFP_KERNEL);
...@@ -383,7 +383,8 @@ struct regmap *regmap_init(struct device *dev, ...@@ -383,7 +383,8 @@ struct regmap *regmap_init(struct device *dev,
err_cache: err_cache:
regcache_exit(map); regcache_exit(map);
err_free_workbuf: err_debugfs:
regmap_debugfs_exit(map);
kfree(map->work_buf); kfree(map->work_buf);
err_map: err_map:
kfree(map); kfree(map);
......
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