Add the missing iounmap() before return from tegra_init_fuse() in the error handling case. Fixes: 9f94fadd75d3 ("soc/tegra: fuse: Register cell lookups for compatibility") Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx> --- drivers/soc/tegra/fuse/fuse-tegra.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/soc/tegra/fuse/fuse-tegra.c b/drivers/soc/tegra/fuse/fuse-tegra.c index 94b60a692b51..bc8d70e6a676 100644 --- a/drivers/soc/tegra/fuse/fuse-tegra.c +++ b/drivers/soc/tegra/fuse/fuse-tegra.c @@ -489,8 +489,10 @@ static int __init tegra_init_fuse(void) size_t size = sizeof(*fuse->lookups) * fuse->soc->num_lookups; fuse->lookups = kmemdup(fuse->soc->lookups, size, GFP_KERNEL); - if (!fuse->lookups) + if (!fuse->lookups) { + iounmap(fuse->base); return -ENOMEM; + } nvmem_add_cell_lookups(fuse->lookups, fuse->soc->num_lookups); } -- 2.25.1