summaryrefslogtreecommitdiff
authorMatthew Shyu <matthew.shyu@amlogic.com>2018-06-19 11:04:13 (GMT)
committer yang.xu <yang.xu@amlogic.com>2018-06-22 09:43:20 (GMT)
commit0fbca8b0409b1ae4cdd1329002a8a8e44cc07457 (patch)
tree08ed7d0dd7b210a7d8858ea03b4d8b7b995c45b4
parentfb9504059efafdd0196675d352d67eadf143cfff (diff)
downloadcommon-0fbca8b0409b1ae4cdd1329002a8a8e44cc07457.zip
common-0fbca8b0409b1ae4cdd1329002a8a8e44cc07457.tar.gz
common-0fbca8b0409b1ae4cdd1329002a8a8e44cc07457.tar.bz2
crypto: aml-dma: fix errors found in coverity check
PD#168725: fix errors found in coverity check Change-Id: I7528dc0c6122d32e3f2937a4b1869031d10851af Signed-off-by: Matthew Shyu <matthew.shyu@amlogic.com>
Diffstat
-rw-r--r--drivers/amlogic/crypto/aml-aes-dma.c1
-rw-r--r--drivers/amlogic/crypto/aml-dma.c1
-rw-r--r--drivers/amlogic/crypto/aml-tdes-dma.c7
3 files changed, 7 insertions, 2 deletions
diff --git a/drivers/amlogic/crypto/aml-aes-dma.c b/drivers/amlogic/crypto/aml-aes-dma.c
index fd0c7e7..1239089 100644
--- a/drivers/amlogic/crypto/aml-aes-dma.c
+++ b/drivers/amlogic/crypto/aml-aes-dma.c
@@ -988,6 +988,7 @@ static void aml_aes_done_task(unsigned long data)
if (!dd->in_sg || !dd->out_sg) {
pr_err("aml-aes: sg invalid\n");
err = -EINVAL;
+ break;
}
}
}
diff --git a/drivers/amlogic/crypto/aml-dma.c b/drivers/amlogic/crypto/aml-dma.c
index cf7ea7c..f50417b 100644
--- a/drivers/amlogic/crypto/aml-dma.c
+++ b/drivers/amlogic/crypto/aml-dma.c
@@ -124,6 +124,7 @@ static int aml_dma_probe(struct platform_device *pdev)
return err;
dma_err:
+ kfree(dma_dd);
dev_err(dev, "initialization failed.\n");
return err;
diff --git a/drivers/amlogic/crypto/aml-tdes-dma.c b/drivers/amlogic/crypto/aml-tdes-dma.c
index 6c7b658..8927412 100644
--- a/drivers/amlogic/crypto/aml-tdes-dma.c
+++ b/drivers/amlogic/crypto/aml-tdes-dma.c
@@ -777,10 +777,13 @@ static void aml_tdes_done_task(unsigned long data)
uint32_t i = 0;
for (i = 0; i < dd->fast_nents; i++) {
- if (!dd->in_sg || !dd->out_sg)
- err = -EINVAL;
dd->in_sg = sg_next(dd->in_sg);
dd->out_sg = sg_next(dd->out_sg);
+ if (!dd->in_sg || !dd->out_sg) {
+ pr_err("aml-tdes: sg invalid\n");
+ err = -EINVAL;
+ break;
+ }
}
}