From 5d00b1852818dd4b25952fd6a30deb20e7c7df53 Mon Sep 17 00:00:00 2001 From: login Date: Wed, 5 Apr 2023 00:53:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=98=BE=E7=A4=BA=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E7=BA=BF=E7=A8=8B=E7=9A=84=E7=A9=BA=E6=8C=87=E9=92=88?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20(#228)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/src/driver/video/video.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/src/driver/video/video.c b/kernel/src/driver/video/video.c index 9a49dd94..edbe0fad 100644 --- a/kernel/src/driver/video/video.c +++ b/kernel/src/driver/video/video.c @@ -65,10 +65,12 @@ int video_refresh_daemon(void *unused) if (likely(video_refresh_target != NULL)) { spin_lock(&daemon_refresh_lock); - memcpy((void *)video_frame_buffer_info.vaddr, (void *)video_refresh_target->vaddr, - video_refresh_target->size); + if (video_frame_buffer_info.vaddr != NULL) + memcpy((void *)video_frame_buffer_info.vaddr, (void *)video_refresh_target->vaddr, + video_refresh_target->size); spin_unlock(&daemon_refresh_lock); - video_daemon_pcb->virtual_runtime = 0xfffff0000000; // 临时解决由于显示刷新进程的虚拟运行时间过大/过小,导致其不运行,或者一直运行的问题。将来应使用实时调度解决它 + video_daemon_pcb->virtual_runtime = + 0xfffff0000000; // 临时解决由于显示刷新进程的虚拟运行时间过大/过小,导致其不运行,或者一直运行的问题。将来应使用实时调度解决它 } video_refresh_expire_jiffies = rs_timer_next_n_ms_jiffies(REFRESH_INTERVAL << 1); }