Message ID | 1605634436-36506-1-git-send-email-bbhatt@codeaurora.org |
---|---|
State | New |
Headers | show |
Series | [RESEND] ath11k: use MHI provided APIs to allocate and free MHI controller | expand |
Bhaumik Bhatt <bbhatt@codeaurora.org> wrote: > Use MHI provided APIs to allocate and free MHI controller to > improve MHI host driver handling. This also fixes a memory leak > as the MHI controller was allocated but never freed. > > Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org> > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Patch applied to ath-next branch of ath.git, thanks. 57449b07eafc ath11k: use MHI provided APIs to allocate and free MHI controller -- https://patchwork.kernel.org/project/linux-wireless/patch/1605634436-36506-1-git-send-email-bbhatt@codeaurora.org/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Hello: This patch was applied to qcom/linux.git (refs/heads/for-next): On Tue, 17 Nov 2020 09:33:56 -0800 you wrote: > Use MHI provided APIs to allocate and free MHI controller to > improve MHI host driver handling. This also fixes a memory leak > as the MHI controller was allocated but never freed. > > Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org> > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > [...] Here is the summary with links: - [RESEND] ath11k: use MHI provided APIs to allocate and free MHI controller https://git.kernel.org/qcom/c/57449b07eafc You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/net/wireless/ath/ath11k/mhi.c b/drivers/net/wireless/ath/ath11k/mhi.c index aded9a7..1c9d9dc 100644 --- a/drivers/net/wireless/ath/ath11k/mhi.c +++ b/drivers/net/wireless/ath/ath11k/mhi.c @@ -218,7 +218,7 @@ int ath11k_mhi_register(struct ath11k_pci *ab_pci) struct mhi_controller *mhi_ctrl; int ret; - mhi_ctrl = kzalloc(sizeof(*mhi_ctrl), GFP_KERNEL); + mhi_ctrl = mhi_alloc_controller(); if (!mhi_ctrl) return -ENOMEM; @@ -234,7 +234,7 @@ int ath11k_mhi_register(struct ath11k_pci *ab_pci) ret = ath11k_mhi_get_msi(ab_pci); if (ret) { ath11k_err(ab, "failed to get msi for mhi\n"); - kfree(mhi_ctrl); + mhi_free_controller(mhi_ctrl); return ret; } @@ -252,7 +252,7 @@ int ath11k_mhi_register(struct ath11k_pci *ab_pci) ret = mhi_register_controller(mhi_ctrl, &ath11k_mhi_config); if (ret) { ath11k_err(ab, "failed to register to mhi bus, err = %d\n", ret); - kfree(mhi_ctrl); + mhi_free_controller(mhi_ctrl); return ret; } @@ -265,6 +265,7 @@ void ath11k_mhi_unregister(struct ath11k_pci *ab_pci) mhi_unregister_controller(mhi_ctrl); kfree(mhi_ctrl->irq); + mhi_free_controller(mhi_ctrl); } static char *ath11k_mhi_state_to_str(enum ath11k_mhi_state mhi_state)