diff options
author | Chanho Park <chanho61.park@samsung.com> | 2023-11-09 09:32:59 +0300 |
---|---|---|
committer | Hal Feng <hal.feng@starfivetech.com> | 2024-01-18 12:58:04 +0300 |
commit | 184f5708125149bcfa1bc21f7b94f39ec9c60b21 (patch) | |
tree | c9368f9dc5958385f6e3b624462eb3375a2b0a3a | |
parent | 4d7c895d92ad834d8c608a920da952b8ce71f6ab (diff) | |
download | linux-184f5708125149bcfa1bc21f7b94f39ec9c60b21.tar.xz |
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 <chanho61.park@samsung.com>
Reviewed-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | drivers/crypto/starfive/jh7110-cryp.c | 10 |
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; } |