msm: synx: Fix for dispatching callbacks in kernel fencing

If wait-signal happens on APSS core, callbacks were not getting
dispatched because of recent changes (CR3442156). This fix ensures
callbacks are dispatched properly when handles are signaled.

Change-Id: I0b11634327afa3575c12819a639e104b27e82707
Signed-off-by: Urvesh Rathod <quic_urathod@quicinc.com>
This commit is contained in:
Urvesh Rathod
2023-04-11 12:25:24 +05:30
committed by Gerrit - the friendly Code Review server
부모 9040173668
커밋 f549339d0b

파일 보기

@@ -599,15 +599,14 @@ void synx_signal_handler(struct work_struct *cb_dispatch)
goto fail;
}
}
else {
else
rc = synx_native_signal_fence(synx_obj, status);
if (rc == SYNX_SUCCESS)
rc = synx_native_signal_core(synx_obj, status,
(signal_cb->flag & SYNX_SIGNAL_FROM_CALLBACK) ?
true : false, signal_cb->ext_sync_id);
}
}
if (rc == SYNX_SUCCESS && !synx_util_is_merged_object(synx_obj))
rc = synx_native_signal_core(synx_obj, status,
(signal_cb->flag & SYNX_SIGNAL_FROM_CALLBACK) ?
true : false, signal_cb->ext_sync_id);
mutex_unlock(&synx_obj->obj_lock);
if (rc != SYNX_SUCCESS)