1From f2eb61dd039f76f7e45216968efb84c722beac32 Mon Sep 17 00:00:00 2001
2From: Jeffy Chen <jeffy.chen@rock-chips.com>
3Date: Thu, 2 Jul 2020 14:58:49 +0800
4Subject: [PATCH 07/93] HACK: backend-drm: Avoid random crash when suspending
5
6Skip the repaint_status check since the weston_output_finish_frame()
7could also be called when turning off dpms.
8
9Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
10---
11 libweston/backend-drm/drm.c | 6 ++++--
12 libweston/compositor.c      | 2 --
13 2 files changed, 4 insertions(+), 4 deletions(-)
14
15diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
16index 8969a76..711ed5b 100644
17--- a/libweston/backend-drm/drm.c
18+++ b/libweston/backend-drm/drm.c
19@@ -287,8 +287,10 @@ drm_output_update_complete(struct drm_output *output, uint32_t flags,
20 	wl_list_for_each(ps, &output->state_cur->plane_list, link)
21 		ps->complete = true;
22
23-	drm_output_state_free(output->state_last);
24-	output->state_last = NULL;
25+	if (output->state_last) {
26+		drm_output_state_free(output->state_last);
27+		output->state_last = NULL;
28+	}
29
30 	if (output->destroy_pending) {
31 		output->destroy_pending = false;
32diff --git a/libweston/compositor.c b/libweston/compositor.c
33index 7b15769..e166911 100644
34--- a/libweston/compositor.c
35+++ b/libweston/compositor.c
36@@ -3515,8 +3515,6 @@ weston_output_finish_frame(struct weston_output *output,
37 	struct timespec vblank_monotonic;
38 	int64_t msec_rel;
39
40-	assert(output->repaint_status == REPAINT_AWAITING_COMPLETION);
41-
42 	/*
43 	 * If timestamp of latest vblank is given, it must always go forwards.
44 	 * If not given, INVALID flag must be set.
45--
462.20.1
47
48