mirror of https://github.com/OpenIPC/firmware.git
50 lines
1.4 KiB
Diff
50 lines
1.4 KiB
Diff
diff -drupN a/drivers/dma-buf/sw_sync.c b/drivers/dma-buf/sw_sync.c
|
|
--- a/drivers/dma-buf/sw_sync.c 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/drivers/dma-buf/sw_sync.c 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -169,6 +169,11 @@ static bool timeline_fence_enable_signal
|
|
return true;
|
|
}
|
|
|
|
+static void timeline_fence_disable_signaling(struct fence *fence)
|
|
+{
|
|
+ return;
|
|
+}
|
|
+
|
|
static void timeline_fence_value_str(struct fence *fence,
|
|
char *str, int size)
|
|
{
|
|
@@ -187,6 +192,7 @@ static const struct fence_ops timeline_f
|
|
.get_driver_name = timeline_fence_get_driver_name,
|
|
.get_timeline_name = timeline_fence_get_timeline_name,
|
|
.enable_signaling = timeline_fence_enable_signaling,
|
|
+ .disable_signaling = timeline_fence_disable_signaling,
|
|
.signaled = timeline_fence_signaled,
|
|
.wait = fence_default_wait,
|
|
.release = timeline_fence_release,
|
|
@@ -216,7 +222,6 @@ static void sync_timeline_signal(struct
|
|
if (!timeline_fence_signaled(&pt->base))
|
|
break;
|
|
|
|
- list_del_init(&pt->link);
|
|
rb_erase(&pt->node, &obj->pt_tree);
|
|
|
|
/*
|
|
@@ -228,6 +233,7 @@ static void sync_timeline_signal(struct
|
|
* timeline_fence_release().
|
|
*/
|
|
fence_signal_locked(&pt->base);
|
|
+ list_del_init(&pt->link);
|
|
}
|
|
|
|
spin_unlock_irq(&obj->lock);
|
|
@@ -360,8 +366,8 @@ static long sw_sync_ioctl_create_fence(s
|
|
}
|
|
|
|
sync_file = sync_file_create(&pt->base);
|
|
+ fence_put(&pt->base);
|
|
if (!sync_file) {
|
|
- fence_put(&pt->base);
|
|
err = -ENOMEM;
|
|
goto err;
|
|
}
|