summaryrefslogtreecommitdiff
path: root/mali_kbase/mali_kbase_fence.c
diff options
context:
space:
mode:
Diffstat (limited to 'mali_kbase/mali_kbase_fence.c')
-rw-r--r--mali_kbase/mali_kbase_fence.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/mali_kbase/mali_kbase_fence.c b/mali_kbase/mali_kbase_fence.c
index fcb3733..17b5621 100644
--- a/mali_kbase/mali_kbase_fence.c
+++ b/mali_kbase/mali_kbase_fence.c
@@ -176,8 +176,13 @@ kbase_fence_add_callback(struct kbase_jd_atom *katom,
err = dma_fence_add_callback(fence, &kbase_fence_cb->fence_cb,
callback);
if (err == -ENOENT) {
- /* Fence signaled, clear the error and return */
- err = 0;
+ /* Fence signaled, get the completion result */
+ err = dma_fence_get_status(fence);
+
+ /* remap success completion to err code */
+ if (err == 1)
+ err = 0;
+
kfree(kbase_fence_cb);
} else if (err) {
kfree(kbase_fence_cb);