From 6491d72c2a91df75e3e79b0eb9f0792b4988552f Mon Sep 17 00:00:00 2001 From: Sujeev Dias Date: Fri, 19 May 2017 16:38:35 -0700 Subject: [PATCH] mhi: core: Fix memory leak in MHI DE_INIT During MHI INIT, memory is allocated for firmware and rddm vector table. This memory is not freed when DE_INIT is called. CRs-Fixed: 2053206 Change-Id: I85b2644189915dd25d8ac31190f16799f86cbd12 Signed-off-by: Sujeev Dias --- drivers/platform/msm/mhi/mhi_bhi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/platform/msm/mhi/mhi_bhi.c b/drivers/platform/msm/mhi/mhi_bhi.c index 5b05270b1e66..e1c50e1273ac 100644 --- a/drivers/platform/msm/mhi/mhi_bhi.c +++ b/drivers/platform/msm/mhi/mhi_bhi.c @@ -598,6 +598,7 @@ void bhi_exit(struct mhi_device_ctxt *mhi_dev_ctxt) dma_free_coherent(dev, bhie_mem_info->alloc_size, bhie_mem_info->pre_aligned, bhie_mem_info->dma_handle); + kfree(fw_table->bhie_mem_info); fw_table->bhie_mem_info = NULL; /* vector table is the last entry in bhie_mem_info */ fw_table->bhi_vec_entry = NULL; @@ -613,6 +614,7 @@ void bhi_exit(struct mhi_device_ctxt *mhi_dev_ctxt) dma_free_coherent(dev, bhie_mem_info->alloc_size, bhie_mem_info->pre_aligned, bhie_mem_info->dma_handle); + kfree(rddm_table->bhie_mem_info); rddm_table->bhie_mem_info = NULL; rddm_table->bhi_vec_entry = NULL; }