[2/2] drm/imagination: Fix IS_ERR() vs NULL bug in pvr_request_firmware()

Message ID 384288de-a779-46c7-869d-b3c63462e12b@moroto.mountain
State New
Headers
Series [1/2] drm/imagination: Fix error codes in pvr_device_clk_init() |

Commit Message

Dan Carpenter Nov. 30, 2023, 7:27 a.m. UTC
  The pvr_build_firmware_filename() function returns NULL on error.  It
doesn't return error pointers.

Fixes: f99f5f3ea7ef ("drm/imagination: Add GPU ID parsing and firmware loading")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/gpu/drm/imagination/pvr_device.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Frank Binns Nov. 30, 2023, 9:09 a.m. UTC | #1
On Thu, 2023-11-30 at 10:27 +0300, Dan Carpenter wrote:
> The pvr_build_firmware_filename() function returns NULL on error.  It
> doesn't return error pointers.
> 
> Fixes: f99f5f3ea7ef ("drm/imagination: Add GPU ID parsing and firmware loading")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>

Reviewed-by: Frank Binns <frank.binns@imgtec.com>

> ---
>  drivers/gpu/drm/imagination/pvr_device.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/imagination/pvr_device.c b/drivers/gpu/drm/imagination/pvr_device.c
> index e1dcc4e42087..5389aea7ff21 100644
> --- a/drivers/gpu/drm/imagination/pvr_device.c
> +++ b/drivers/gpu/drm/imagination/pvr_device.c
> @@ -286,8 +286,8 @@ pvr_request_firmware(struct pvr_device *pvr_dev)
>  
>  	filename = pvr_build_firmware_filename(pvr_dev, "powervr/rogue",
>  					       PVR_FW_VERSION_MAJOR);
> -	if (IS_ERR(filename))
> -		return PTR_ERR(filename);
> +	if (!filename)
> +		return -ENOMEM;
>  
>  	/*
>  	 * This function takes a copy of &filename, meaning we can free our
  
Maxime Ripard Nov. 30, 2023, 9:18 a.m. UTC | #2
On Thu, 30 Nov 2023 10:27:01 +0300, Dan Carpenter wrote:
> The pvr_build_firmware_filename() function returns NULL on error.  It
> doesn't return error pointers.
> 
> 

Applied to drm/drm-misc (drm-misc-next).

Thanks!
Maxime
  

Patch

diff --git a/drivers/gpu/drm/imagination/pvr_device.c b/drivers/gpu/drm/imagination/pvr_device.c
index e1dcc4e42087..5389aea7ff21 100644
--- a/drivers/gpu/drm/imagination/pvr_device.c
+++ b/drivers/gpu/drm/imagination/pvr_device.c
@@ -286,8 +286,8 @@  pvr_request_firmware(struct pvr_device *pvr_dev)
 
 	filename = pvr_build_firmware_filename(pvr_dev, "powervr/rogue",
 					       PVR_FW_VERSION_MAJOR);
-	if (IS_ERR(filename))
-		return PTR_ERR(filename);
+	if (!filename)
+		return -ENOMEM;
 
 	/*
 	 * This function takes a copy of &filename, meaning we can free our