drm/v3d: fix sched job resources cleanup when a job is aborted
authorMelissa Wen <mwen@igalia.com>
Thu, 16 Sep 2021 21:27:26 +0000 (22:27 +0100)
committerMelissa Wen <melissa.srw@gmail.com>
Sun, 19 Sep 2021 19:40:23 +0000 (20:40 +0100)
commit9fcb4a8ff2aad6158f3056c857c2b2252eae312d
treed0ed1f415cd1deadf51c5e4f09092959dc3fd297
parenta53f2c035e9832d20775d2c66c71495f2dc27699
drm/v3d: fix sched job resources cleanup when a job is aborted

In a cl submission, when bin job initialization fails, sched job resources
were already allocated for the render job. At this point,
drm_sched_job_init(render) was done in v3d_job_init but the render job is
aborted before drm_sched_job_arm (in v3d_job_push) happens; therefore, not
only v3d_job_put but also drm_sched_job_cleanup should be called (by
v3d_job_cleanup). A similar issue is addressed for csd and tfu submissions.

The issue was noticed from a review by Iago Toral in a patch that touches
the same part of the code.

Fixes: 916044fac8623 ("drm/v3d: Move drm_sched_job_init to v3d_job_init")
Signed-off-by: Melissa Wen <mwen@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Melissa Wen <melissa.srw@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210916212726.2u2psq2egwy2mdva@mail.igalia.com
drivers/gpu/drm/v3d/v3d_gem.c