firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe

Message ID 5f9a8cb4-5a4f-460b-9cdc-2fae6c5b7922@kili.mountain
State New
Headers
Series firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe |

Commit Message

Dan Carpenter April 19, 2023, 2:27 p.m. UTC
  The svc_create_memory_pool() function returns error pointers.  It never
returns NULL.  Fix the check.

Fixes: 7ca5ce896524 ("firmware: add Intel Stratix10 service layer driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/firmware/stratix10-svc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Dinh Nguyen April 27, 2023, 6:58 p.m. UTC | #1
On 4/19/23 09:27, Dan Carpenter wrote:
> The svc_create_memory_pool() function returns error pointers.  It never
> returns NULL.  Fix the check.
> 
> Fixes: 7ca5ce896524 ("firmware: add Intel Stratix10 service layer driver")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>   drivers/firmware/stratix10-svc.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/firmware/stratix10-svc.c b/drivers/firmware/stratix10-svc.c
> index bde1f543f529..80f4e2d14e04 100644
> --- a/drivers/firmware/stratix10-svc.c
> +++ b/drivers/firmware/stratix10-svc.c
> @@ -1133,8 +1133,8 @@ static int stratix10_svc_drv_probe(struct platform_device *pdev)
>   		return ret;
>   
>   	genpool = svc_create_memory_pool(pdev, sh_memory);
> -	if (!genpool)
> -		return -ENOMEM;
> +	if (IS_ERR(genpool))
> +		return PTR_ERR(genpool);
>   
>   	/* allocate service controller and supporting channel */
>   	controller = devm_kzalloc(dev, sizeof(*controller), GFP_KERNEL);

Acked-by: Dinh Nguyen <dinguyen@kernel.org>
  

Patch

diff --git a/drivers/firmware/stratix10-svc.c b/drivers/firmware/stratix10-svc.c
index bde1f543f529..80f4e2d14e04 100644
--- a/drivers/firmware/stratix10-svc.c
+++ b/drivers/firmware/stratix10-svc.c
@@ -1133,8 +1133,8 @@  static int stratix10_svc_drv_probe(struct platform_device *pdev)
 		return ret;
 
 	genpool = svc_create_memory_pool(pdev, sh_memory);
-	if (!genpool)
-		return -ENOMEM;
+	if (IS_ERR(genpool))
+		return PTR_ERR(genpool);
 
 	/* allocate service controller and supporting channel */
 	controller = devm_kzalloc(dev, sizeof(*controller), GFP_KERNEL);