aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChanho Park <[email protected]>2023-11-09 15:32:59 +0900
committerHerbert Xu <[email protected]>2023-11-17 19:16:29 +0800
commitd57343022b71b9f41e731282dbe0baf0cff6ada8 (patch)
tree83a7a56febc52d38139edc6f5b78e717b4ea0c43
parentba5a434d5a1e799defd964537bdd406318ef5f7d (diff)
crypto: jh7110 - Correct deferred probe return
This fixes list_add corruption error when the driver is returned with -EPROBE_DEFER. It is also required to roll back the previous probe sequences in case of deferred_probe. So, this removes 'err_probe_defer" goto label and just use err_dma_init instead. Fixes: 42ef0e944b01 ("crypto: starfive - Add crypto engine support") Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Jia Jie Ho <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
-rw-r--r--drivers/crypto/starfive/jh7110-cryp.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/crypto/starfive/jh7110-cryp.c b/drivers/crypto/starfive/jh7110-cryp.c
index 08e974e0dd12..3a67ddc4d936 100644
--- a/drivers/crypto/starfive/jh7110-cryp.c
+++ b/drivers/crypto/starfive/jh7110-cryp.c
@@ -180,12 +180,8 @@ static int starfive_cryp_probe(struct platform_device *pdev)
spin_unlock(&dev_list.lock);
ret = starfive_dma_init(cryp);
- if (ret) {
- if (ret == -EPROBE_DEFER)
- goto err_probe_defer;
- else
- goto err_dma_init;
- }
+ if (ret)
+ goto err_dma_init;
/* Initialize crypto engine */
cryp->engine = crypto_engine_alloc_init(&pdev->dev, 1);
@@ -233,7 +229,7 @@ err_dma_init:
tasklet_kill(&cryp->aes_done);
tasklet_kill(&cryp->hash_done);
-err_probe_defer:
+
return ret;
}