[PATCH v2] accel/amdxdna: add NULL check for job->cmd_bo
From: Deniz Aydogan
Date: Wed Sep 02 2026 - 07:57:59 EST
amdxdna_cmd_submit() leaves job->cmd_bo as NULL for internal driver
commands that use AMDXDNA_INVALID_BO_HANDLE. The cleanup paths in
amdxdna_cmd_submit() error handling and amdxdna_sched_job_cleanup()
call amdxdna_gem_put_obj(job->cmd_bo) unconditionally.
Although drm_gem_object_put() handles NULL, adding an explicit check
makes the code more robust and easier to reason about.
Signed-off-by: Deniz Aydogan <denizaydogan1902@xxxxxxxxx>
---
drivers/accel/amdxdna/amdxdna_ctx.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/accel/amdxdna/amdxdna_ctx.c b/drivers/accel/amdxdna/amdxdna_ctx.c
index 31a414c3f..21f0560e6 100644
--- a/drivers/accel/amdxdna/amdxdna_ctx.c
+++ b/drivers/accel/amdxdna/amdxdna_ctx.c
@@ -575,7 +575,8 @@ void amdxdna_sched_job_cleanup(struct amdxdna_sched_job *job)
trace_amdxdna_debug_point(job->hwctx->name, job->seq, "job release");
amdxdna_pm_suspend_put(job->hwctx->client->xdna);
amdxdna_arg_bos_put(job);
- amdxdna_gem_put_obj(job->cmd_bo);
+ if (job->cmd_bo)
+ amdxdna_gem_put_obj(job->cmd_bo);
dma_fence_put(job->fence);
mmdrop(job->mm);
}
@@ -676,7 +677,8 @@ int amdxdna_cmd_submit(struct amdxdna_client *client,
put_bos:
amdxdna_arg_bos_put(job);
cmd_put:
- amdxdna_gem_put_obj(job->cmd_bo);
+ if (job->cmd_bo)
+ amdxdna_gem_put_obj(job->cmd_bo);
free_job:
if (job->mm)
mmdrop(job->mm);
--
2.55.0