aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/crypto/atmel-sha.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c
index 0618be06b9fb..9a4f69eaa5e0 100644
--- a/drivers/crypto/atmel-sha.c
+++ b/drivers/crypto/atmel-sha.c
@@ -1353,7 +1353,6 @@ static struct crypto_platform_data *atmel_sha_of_init(struct platform_device *pd
1353 GFP_KERNEL); 1353 GFP_KERNEL);
1354 if (!pdata->dma_slave) { 1354 if (!pdata->dma_slave) {
1355 dev_err(&pdev->dev, "could not allocate memory for dma_slave\n"); 1355 dev_err(&pdev->dev, "could not allocate memory for dma_slave\n");
1356 devm_kfree(&pdev->dev, pdata);
1357 return ERR_PTR(-ENOMEM); 1356 return ERR_PTR(-ENOMEM);
1358 } 1357 }
1359 1358
@@ -1375,7 +1374,8 @@ static int atmel_sha_probe(struct platform_device *pdev)
1375 unsigned long sha_phys_size; 1374 unsigned long sha_phys_size;
1376 int err; 1375 int err;
1377 1376
1378 sha_dd = kzalloc(sizeof(struct atmel_sha_dev), GFP_KERNEL); 1377 sha_dd = devm_kzalloc(&pdev->dev, sizeof(struct atmel_sha_dev),
1378 GFP_KERNEL);
1379 if (sha_dd == NULL) { 1379 if (sha_dd == NULL) {
1380 dev_err(dev, "unable to alloc data struct.\n"); 1380 dev_err(dev, "unable to alloc data struct.\n");
1381 err = -ENOMEM; 1381 err = -ENOMEM;
@@ -1490,8 +1490,6 @@ clk_err:
1490 free_irq(sha_dd->irq, sha_dd); 1490 free_irq(sha_dd->irq, sha_dd);
1491res_err: 1491res_err:
1492 tasklet_kill(&sha_dd->done_task); 1492 tasklet_kill(&sha_dd->done_task);
1493 kfree(sha_dd);
1494 sha_dd = NULL;
1495sha_dd_err: 1493sha_dd_err:
1496 dev_err(dev, "initialization failed.\n"); 1494 dev_err(dev, "initialization failed.\n");
1497 1495
@@ -1523,9 +1521,6 @@ static int atmel_sha_remove(struct platform_device *pdev)
1523 if (sha_dd->irq >= 0) 1521 if (sha_dd->irq >= 0)
1524 free_irq(sha_dd->irq, sha_dd); 1522 free_irq(sha_dd->irq, sha_dd);
1525 1523
1526 kfree(sha_dd);
1527 sha_dd = NULL;
1528
1529 return 0; 1524 return 0;
1530} 1525}
1531 1526