Reviewed-by: Lizhi Hou <lizhi....@amd.com>
On 9/15/25 03:34, Karol Wachowski wrote:
Ensure that cmdq->db_id is reset to 0 if ivpu_jsm_register_db fails,
preventing potential reuse of invalid command queue with
unregistered doorbell.
Signed-off-by: Karol Wachowski <karol.wachow...@linux.intel.com>
---
drivers/accel/ivpu/ivpu_job.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/accel/ivpu/ivpu_job.c b/drivers/accel/ivpu/ivpu_job.c
index 060f1fc031d3..fa1720fa06a4 100644
--- a/drivers/accel/ivpu/ivpu_job.c
+++ b/drivers/accel/ivpu/ivpu_job.c
@@ -219,11 +219,13 @@ static int ivpu_register_db(struct ivpu_file_priv
*file_priv, struct ivpu_cmdq *
ret = ivpu_jsm_register_db(vdev, file_priv->ctx.id, cmdq->db_id,
cmdq->mem->vpu_addr,
ivpu_bo_size(cmdq->mem));
- if (!ret)
+ if (!ret) {
ivpu_dbg(vdev, JOB, "DB %d registered to cmdq %d ctx %d priority
%d\n",
cmdq->db_id, cmdq->id, file_priv->ctx.id,
cmdq->priority);
- else
+ } else {
xa_erase(&vdev->db_xa, cmdq->db_id);
+ cmdq->db_id = 0;
+ }
return ret;
}