diff mbox series

crypto: jh7110 - Correct deferred probe return

Message ID 20231109063259.3427055-1-chanho61.park@samsung.com (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series crypto: jh7110 - Correct deferred probe return | expand

Commit Message

Chanho Park Nov. 9, 2023, 6:32 a.m. UTC
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>
---
 drivers/crypto/starfive/jh7110-cryp.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

Comments

Jia Jie Ho Nov. 9, 2023, 9:09 a.m. UTC | #1
On 9/11/2023 2:32 pm, Chanho Park wrote:
> 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>
> ---
>  drivers/crypto/starfive/jh7110-cryp.c | 10 +++-------
>  1 file 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 @@ static int starfive_cryp_probe(struct platform_device *pdev)
>  
>  	tasklet_kill(&cryp->aes_done);
>  	tasklet_kill(&cryp->hash_done);
> -err_probe_defer:
> +
>  	return ret;
>  }
>  

Reviewed-by: Jia Jie Ho <jiajie.ho@starfivetech.com>

Thanks for catching this.

Regards,
Jia Jie
Herbert Xu Nov. 17, 2023, 11:25 a.m. UTC | #2
On Thu, Nov 09, 2023 at 03:32:59PM +0900, Chanho Park wrote:
> 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>
> ---
>  drivers/crypto/starfive/jh7110-cryp.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)

Patch applied.  Thanks.
diff mbox series

Patch

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 @@  static int starfive_cryp_probe(struct platform_device *pdev)
 
 	tasklet_kill(&cryp->aes_done);
 	tasklet_kill(&cryp->hash_done);
-err_probe_defer:
+
 	return ret;
 }