msm: bam_dmux: unmap io block after init failure
Change-Id: Id9043f5ea601d0f81d247e4e15297fe1ccf6c238
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
diff --git a/arch/arm/mach-msm/bam_dmux.c b/arch/arm/mach-msm/bam_dmux.c
index ab28645..e6d9447 100644
--- a/arch/arm/mach-msm/bam_dmux.c
+++ b/arch/arm/mach-msm/bam_dmux.c
@@ -1229,7 +1229,7 @@
if (!a2_virt_addr) {
pr_err("%s: ioremap failed\n", __func__);
ret = -ENOMEM;
- goto register_bam_failed;
+ goto ioremap_failed;
}
a2_props.phys_addr = A2_PHYS_BASE;
a2_props.virt_addr = a2_virt_addr;
@@ -1370,6 +1370,8 @@
tx_mem_failed:
sps_deregister_bam_device(h);
register_bam_failed:
+ iounmap(a2_virt_addr);
+ioremap_failed:
/*destroy_workqueue(bam_mux_workqueue);*/
return ret;
}