diff options
author | Lauren Post <lauren.post@freescale.com> | 2013-08-19 14:17:44 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-08-22 18:30:04 +0100 |
commit | 557d1c74bf7994f8cce1d9ae92dbb98098f03f93 (patch) | |
tree | 4faadb8bd06386b16cf03399236d6b1a12914f20 | |
parent | f1bcf10134537fef3d04e3e3965b2adc5e541e69 (diff) | |
download | poky-557d1c74bf7994f8cce1d9ae92dbb98098f03f93.tar.gz |
directfb: add fusion patch for hangs
The following tests hang on exit: direct_test, fusion_skirmish
(From OE-Core rev: 46b8009d668478c5ed3e8b64c65f1de2a4dc25b3)
Signed-off-by: Lauren Post <lauren.post@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-graphics/directfb/directfb.inc | 3 | ||||
-rwxr-xr-x | meta/recipes-graphics/directfb/directfb/fusion.patch | 36 |
2 files changed, 38 insertions, 1 deletions
diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc index 60b12f7caa..a23209fb51 100644 --- a/meta/recipes-graphics/directfb/directfb.inc +++ b/meta/recipes-graphics/directfb/directfb.inc | |||
@@ -14,7 +14,8 @@ DEPENDS = "jpeg libpng freetype zlib tslib" | |||
14 | INC_PR = "r0" | 14 | INC_PR = "r0" |
15 | 15 | ||
16 | SRC_URI = "http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${PV}.tar.gz \ | 16 | SRC_URI = "http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${PV}.tar.gz \ |
17 | file://configurefix.patch" | 17 | file://configurefix.patch \ |
18 | file://fusion.patch" | ||
18 | 19 | ||
19 | S = "${WORKDIR}/DirectFB-${PV}" | 20 | S = "${WORKDIR}/DirectFB-${PV}" |
20 | 21 | ||
diff --git a/meta/recipes-graphics/directfb/directfb/fusion.patch b/meta/recipes-graphics/directfb/directfb/fusion.patch new file mode 100755 index 0000000000..1f81a6796c --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb/fusion.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | directfb: Fix for hangs in direct_test, fusion_skirmish on exit | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | Signed-off-by: Lauren Post <lauren.post@freescale.com> | ||
5 | |||
6 | --- a/lib/fusion/fusion.c 2013-01-18 22:57:11.000000000 +0800 | ||
7 | +++ b/lib/fusion/fusion.c 2013-07-04 10:42:56.502699119 +0800 | ||
8 | @@ -2853,9 +2853,14 @@ | ||
9 | direct_mutex_lock( &world->event_dispatcher_mutex ); | ||
10 | |||
11 | while (1) { | ||
12 | - if (!world->event_dispatcher_buffers) | ||
13 | + if (!world->event_dispatcher_buffers){ | ||
14 | direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex ); | ||
15 | - | ||
16 | + if (world->dispatch_stop) { | ||
17 | + D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" ); | ||
18 | + direct_mutex_unlock( &world->event_dispatcher_mutex ); | ||
19 | + return NULL; | ||
20 | + } | ||
21 | + } | ||
22 | buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers; | ||
23 | D_MAGIC_ASSERT( buf, FusionEventDispatcherBuffer ); | ||
24 | |||
25 | @@ -2872,6 +2877,11 @@ | ||
26 | //D_INFO("waiting...\n"); | ||
27 | D_ASSERT( buf->read_pos == buf->write_pos ); | ||
28 | direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex ); | ||
29 | + if (world->dispatch_stop) { | ||
30 | + D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" ); | ||
31 | + direct_mutex_unlock( &world->event_dispatcher_mutex ); | ||
32 | + return NULL; | ||
33 | + } | ||
34 | } | ||
35 | |||
36 | buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers; | ||