commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=430ae45aa9bf4fc75b3b08ddb040499810f5ceb4 branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/2011R1
The conversion to per bus type registration functions means we don't need to do module_get()s to hold the bus types in memory (their users will link to them) so we removed all those calls. This left module_put() calls in the cleanup paths which aren't needed and which cause unbalanced puts if we ever try to unload anything. Reported-by: Jonathan Cameron <[email protected]> Signed-off-by: Mark Brown <[email protected]> --- drivers/base/regmap/regmap.c | 5 +---- 1 files changed, 1 insertions(+), 4 deletions(-) diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index fa2bd89..86b1847 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -198,15 +198,13 @@ struct regmap *regmap_init(struct device *dev, map->work_buf = kmalloc(map->format.buf_size, GFP_KERNEL); if (map->work_buf == NULL) { ret = -ENOMEM; - goto err_bus; + goto err_map; } regmap_debugfs_init(map); return map; -err_bus: - module_put(map->bus->owner); err_map: kfree(map); err: @@ -221,7 +219,6 @@ void regmap_exit(struct regmap *map) { regmap_debugfs_exit(map); kfree(map->work_buf); - module_put(map->bus->owner); kfree(map); } EXPORT_SYMBOL_GPL(regmap_exit);
_______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
