drm/msm: Fix hw_fence error path cleanup
authorRob Clark <robdclark@chromium.org>
Wed, 12 Jul 2023 22:25:23 +0000 (15:25 -0700)
committerRob Clark <robdclark@chromium.org>
Mon, 17 Jul 2023 19:54:20 +0000 (12:54 -0700)
commit1cd0787f082e1a179f2b6e749d08daff1a9f6b1b
tree68257b224fd1f8430475789a12e2bd3e76a52993
parent6e8a996563ecbe68e49c49abd4aaeef69f11f2dc
drm/msm: Fix hw_fence error path cleanup

In an error path where the submit is free'd without the job being run,
the hw_fence pointer is simply a kzalloc'd block of memory.  In this
case we should just kfree() it, rather than trying to decrement it's
reference count.  Fortunately we can tell that this is the case by
checking for a zero refcount, since if the job was run, the submit would
be holding a reference to the hw_fence.

Fixes: f94e6a51e17c ("drm/msm: Pre-allocate hw_fence")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/547088/
drivers/gpu/drm/msm/msm_fence.c
drivers/gpu/drm/msm/msm_gem_submit.c