Skip to content

Commit

Permalink
crypto: jh7110 - Correct deferred probe return
Browse files Browse the repository at this point in the history
[ Upstream commit d573430 ]

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: 42ef0e9 ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
cometzero authored and gregkh committed Jan 25, 2024
1 parent c71d330 commit 8e6ec05
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions drivers/crypto/starfive/jh7110-cryp.c
Expand Up @@ -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);
Expand Down Expand Up @@ -233,7 +229,7 @@ static int starfive_cryp_probe(struct platform_device *pdev)

tasklet_kill(&cryp->aes_done);
tasklet_kill(&cryp->hash_done);
err_probe_defer:

return ret;
}

Expand Down

0 comments on commit 8e6ec05

Please sign in to comment.