From e3e12f52b214121840b44c91de5b3e5af5d3eb84 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 06 Nov 2023 03:04:41 +0000
Subject: [PATCH] rk3568 rt init

---
 kernel/drivers/gpu/arm/mali400/mali/linux/mali_internal_sync.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/kernel/drivers/gpu/arm/mali400/mali/linux/mali_internal_sync.c b/kernel/drivers/gpu/arm/mali400/mali/linux/mali_internal_sync.c
index e13cbad..831a476 100644
--- a/kernel/drivers/gpu/arm/mali400/mali/linux/mali_internal_sync.c
+++ b/kernel/drivers/gpu/arm/mali400/mali/linux/mali_internal_sync.c
@@ -77,7 +77,7 @@
 	struct mali_internal_sync_fence_waiter *waiter;
 #endif
 	struct mali_internal_sync_fence *sync_fence;
-	int ret;
+	int ret = 0;
 	MALI_DEBUG_ASSERT_POINTER(cb);
 	MALI_IGNORE(fence);
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
@@ -92,7 +92,11 @@
 	if (ret)
 		wake_up_all(&sync_fence->wq);
 #else
-	ret = sync_fence->fence->ops->signaled(sync_fence->fence);
+	if (!sync_fence)
+		return;
+
+	if ((sync_fence->fence) && (sync_fence->fence->ops) && (sync_fence->fence->ops->signaled))
+		ret = sync_fence->fence->ops->signaled(sync_fence->fence);
 
 	if (0 > ret)
 		MALI_PRINT_ERROR(("Mali internal sync:Failed to wait fence  0x%x for sync_fence 0x%x.\n", fence, sync_fence));
@@ -682,7 +686,7 @@
 
 
 	spin_lock_irqsave(fence->lock, flags);
-	if (WARN_ON_ONCE(!list_empty(&sync_pt->sync_pt_list)))
+	if (!list_empty(&sync_pt->sync_pt_list))
 		list_del(&sync_pt->sync_pt_list);
 	spin_unlock_irqrestore(fence->lock, flags);
 

--
Gitblit v1.6.2