mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 19:08:57 +09:00
crypto: jh7110 - Correct deferred probe return
[ Upstream commit d57343022b71b9f41e731282dbe0baf0cff6ada8 ]
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: 42ef0e944b ("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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2831f4d3bf
commit
6d9f17829e
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user