Re: [PATCH] drm/xe/device: clean up on error in probe()

2024-01-05 Thread Matthew Brost
On Fri, Jan 05, 2024 at 03:22:23PM +0300, Dan Carpenter wrote:
> This error path should clean up before returning.
> 
> Smatch detected this bug:
>   drivers/gpu/drm/xe/xe_device.c:487 xe_device_probe() warn: missing unwind 
> goto?
> 
> Fixes: 4cb12b71923b ("drm/xe/xe2: Determine bios enablement for flat ccs on 
> igfx")
> Signed-off-by: Dan Carpenter 

Reviewed-by: Matthew Brost 

> ---
> Speeking of static analysis, someone should probably run Sparse on this
> driver.  There are some missing annotations.
> 
> drivers/gpu/drm/xe/xe_mmio.h:65:72: warning: incorrect type in argument 1 
> (different address spaces)
> drivers/gpu/drm/xe/xe_mmio.h:65:72:expected void const volatile [noderef] 
> __iomem *addr
> drivers/gpu/drm/xe/xe_mmio.h:65:72:got void *
> 
>  drivers/gpu/drm/xe/xe_device.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index d9ae77fe7382..b8d8da546670 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -484,7 +484,7 @@ int xe_device_probe(struct xe_device *xe)
>  
>   err = xe_device_set_has_flat_ccs(xe);
>   if (err)
> - return err;
> + goto err_irq_shutdown;
>  
>   err = xe_mmio_probe_vram(xe);
>   if (err)
> -- 
> 2.42.0
> 


[PATCH] drm/xe/device: clean up on error in probe()

2024-01-05 Thread Dan Carpenter
This error path should clean up before returning.

Smatch detected this bug:
  drivers/gpu/drm/xe/xe_device.c:487 xe_device_probe() warn: missing unwind 
goto?

Fixes: 4cb12b71923b ("drm/xe/xe2: Determine bios enablement for flat ccs on 
igfx")
Signed-off-by: Dan Carpenter 
---
Speeking of static analysis, someone should probably run Sparse on this
driver.  There are some missing annotations.

drivers/gpu/drm/xe/xe_mmio.h:65:72: warning: incorrect type in argument 1 
(different address spaces)
drivers/gpu/drm/xe/xe_mmio.h:65:72:expected void const volatile [noderef] 
__iomem *addr
drivers/gpu/drm/xe/xe_mmio.h:65:72:got void *

 drivers/gpu/drm/xe/xe_device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index d9ae77fe7382..b8d8da546670 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -484,7 +484,7 @@ int xe_device_probe(struct xe_device *xe)
 
err = xe_device_set_has_flat_ccs(xe);
if (err)
-   return err;
+   goto err_irq_shutdown;
 
err = xe_mmio_probe_vram(xe);
if (err)
-- 
2.42.0