crypto: Fix memory leak
Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
diff --git a/drivers/crypto/msm/qce40.c b/drivers/crypto/msm/qce40.c
index e7832b6..154410b 100644
--- a/drivers/crypto/msm/qce40.c
+++ b/drivers/crypto/msm/qce40.c
@@ -57,6 +57,9 @@
/* QCE max number of descriptor in a descriptor list */
#define QCE_MAX_NUM_DESC 128
+/* QCE BUFFER SIZE */
+#define QCE_BUF_SIZE (2 * PAGE_SIZE)
+
/* State of DM channel */
enum qce_chan_st_enum {
QCE_CHAN_STATE_IDLE = 0,
@@ -1449,7 +1452,7 @@
pce_dev->ce_out_ignore = (unsigned char *) vaddr;
pce_dev->phy_ce_out_ignore = pce_dev->coh_pmem
+ (vaddr - pce_dev->coh_vmem);
- pce_dev->ce_out_ignore_size = (2 * PAGE_SIZE) - (vaddr -
+ pce_dev->ce_out_ignore_size = QCE_BUF_SIZE - (vaddr -
pce_dev->coh_vmem); /* at least 1.5 K of space */
/*
* The first command of command list ce_in is for the input of
@@ -1972,8 +1975,8 @@
err:
if (pce_dev->coh_vmem)
- dma_free_coherent(pce_dev->pdev, PAGE_SIZE, pce_dev->coh_vmem,
- pce_dev->coh_pmem);
+ dma_free_coherent(pce_dev->pdev, QCE_BUF_SIZE,
+ pce_dev->coh_vmem, pce_dev->coh_pmem);
err_dm_chan_cmd:
kfree(pce_dev->chan_ce_in_cmd);
kfree(pce_dev->chan_ce_out_cmd);
@@ -2036,4 +2039,4 @@
MODULE_LICENSE("GPL v2");
MODULE_AUTHOR("Mona Hossain <mhossain@codeaurora.org>");
MODULE_DESCRIPTION("Crypto Engine driver");
-MODULE_VERSION("2.05");
+MODULE_VERSION("2.06");