From c1d505a922fe89ff44db4de5f88f20037a571c7a Mon Sep 17 00:00:00 2001 From: Ofir Bitton Date: Sun, 25 Oct 2020 09:36:08 +0200 Subject: [PATCH] habanalabs: release signal if collective wait was dropped As in standard wait cs, we must release a signal fence once a collective wait cs was dropped and not submitted. Signed-off-by: Ofir Bitton Reviewed-by: Oded Gabbay Signed-off-by: Oded Gabbay --- drivers/misc/habanalabs/common/command_submission.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/misc/habanalabs/common/command_submission.c b/drivers/misc/habanalabs/common/command_submission.c index 56dc18f..536e095 100644 --- a/drivers/misc/habanalabs/common/command_submission.c +++ b/drivers/misc/habanalabs/common/command_submission.c @@ -300,9 +300,11 @@ static void cs_do_release(struct kref *ref) if (!cs->submitted) { /* In case the wait for signal CS was submitted, the put occurs - * in init_signal_wait_cs() right before hanging on the PQ. + * in init_signal_wait_cs() or collective_wait_init_cs() + * right before hanging on the PQ. */ - if (cs->type == CS_TYPE_WAIT) + if (cs->type == CS_TYPE_WAIT || + cs->type == CS_TYPE_COLLECTIVE_WAIT) hl_fence_put(cs->signal_fence); goto out; -- 2.7.4