diff options
Diffstat (limited to 'firmware/target/arm')
-rw-r--r-- | firmware/target/arm/olympus/mrobe-100/lcd-remote-mr100.c | 8 | ||||
-rw-r--r-- | firmware/target/arm/pp/thread-pp.c | 5 |
2 files changed, 4 insertions, 9 deletions
diff --git a/firmware/target/arm/olympus/mrobe-100/lcd-remote-mr100.c b/firmware/target/arm/olympus/mrobe-100/lcd-remote-mr100.c index 511a5518ff..34b114910a 100644 --- a/firmware/target/arm/olympus/mrobe-100/lcd-remote-mr100.c +++ b/firmware/target/arm/olympus/mrobe-100/lcd-remote-mr100.c @@ -500,14 +500,14 @@ void lcd_remote_off(void) void lcd_remote_on(void) { - /* Only wake the remote thread if it's in the blocked state. */ - struct thread_entry *rc_thread = thread_id_entry(remote_thread_id); - if (rc_thread->state == STATE_BLOCKED || (rc_status & RC_FORCE_DETECT)) + if (semaphore_wait(&rc_thread_wakeup, 0) == OBJ_WAIT_TIMEDOUT || + (rc_status & RC_FORCE_DETECT)) { rc_status &= ~RC_FORCE_DETECT; rc_status &= ~RC_POWER_OFF; - semaphore_release(&rc_thread_wakeup); } + + semaphore_release(&rc_thread_wakeup); } bool remote_detect(void) diff --git a/firmware/target/arm/pp/thread-pp.c b/firmware/target/arm/pp/thread-pp.c index b2e7fb018d..184d243e8d 100644 --- a/firmware/target/arm/pp/thread-pp.c +++ b/firmware/target/arm/pp/thread-pp.c @@ -21,11 +21,6 @@ * ****************************************************************************/ -#if defined(MAX_PHYS_SECTOR_SIZE) && MEMORYSIZE == 64 -/* Support a special workaround object for large-sector disks */ -#define IF_NO_SKIP_YIELD(...) __VA_ARGS__ -#endif - #if NUM_CORES == 1 /* Single-core variants for FORCE_SINGLE_CORE */ static inline void core_sleep(void) |