summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/olympus/mrobe-100/lcd-remote-mr100.c8
-rw-r--r--firmware/target/arm/pp/thread-pp.c5
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)