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>
This commit is contained in:
parent
ba5a434d5a
commit
d57343022b
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user