From: Maíra Canal Date: Mon, 23 Sep 2024 13:55:07 +0000 (-0300) Subject: drm/v3d: Fix return if scheduler initialization fails X-Git-Tag: v6.13-rc1~122^2~22^2~92 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=56cf76ed784fe5347c9305f7f0f3d0f9cb8d8a3b;p=thirdparty%2Fkernel%2Flinux.git drm/v3d: Fix return if scheduler initialization fails If the scheduler initialization fails, GEM initialization must fail as well. Therefore, if `v3d_sched_init()` fails, free the DMA memory allocated and return the error value in `v3d_gem_init()`. Signed-off-by: Maíra Canal Reviewed-by: Iago Toral Quiroga Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-4-mcanal@igalia.com --- diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c index da8faf3b90116..b3b76332f2c5b 100644 --- a/drivers/gpu/drm/v3d/v3d_gem.c +++ b/drivers/gpu/drm/v3d/v3d_gem.c @@ -291,8 +291,9 @@ v3d_gem_init(struct drm_device *dev) ret = v3d_sched_init(v3d); if (ret) { drm_mm_takedown(&v3d->mm); - dma_free_coherent(v3d->drm.dev, 4096 * 1024, (void *)v3d->pt, + dma_free_coherent(v3d->drm.dev, pt_size, (void *)v3d->pt, v3d->pt_paddr); + return ret; } return 0;