Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0afe4e96 authored by Vikram Mulukutla's avatar Vikram Mulukutla Committed by Deepak Katragadda
Browse files

qcom: pil-msa: Fix error path when loading the MBA



An erroneous error path may result in invoking a memory
freeing API with an invalid address. Fix the error path.

Change-Id: Ifd2f08425dcf2e941e854d590da4ac151dac6aa0
Signed-off-by: default avatarVikram Mulukutla <markivx@codeaurora.org>
parent 773c2fbd
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -325,14 +325,15 @@ int pil_mss_reset_load_mba(struct pil_desc *pil)
	if (ret) {
		dev_err(pil->dev, "Failed to locate %s\n",
						fw_name_p);
		goto err_request_firmware;
		return ret;
	}

	mba_virt = dma_alloc_coherent(pil->dev, MBA_SIZE, &mba_phys,
					GFP_KERNEL);
	if (!mba_virt) {
		dev_err(pil->dev, "MBA metadata buffer allocation failed\n");
		goto err_mss_reset;
		ret = -ENOMEM;
		goto err_dma_alloc;
	}

	drv->mba_phys = mba_phys;
@@ -356,9 +357,9 @@ int pil_mss_reset_load_mba(struct pil_desc *pil)
	return 0;

err_mss_reset:
	release_firmware(fw);
err_request_firmware:
	dma_free_coherent(pil->dev, MBA_SIZE, drv->mba_virt, drv->mba_phys);
err_dma_alloc:
	release_firmware(fw);
	return ret;
}