diff options
Diffstat (limited to 'mali_kbase/mali_kbase_fence.c')
-rw-r--r-- | mali_kbase/mali_kbase_fence.c | 9 |
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); |