aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/rgbled/rgbled.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/rgbled/rgbled.cpp')
-rw-r--r--src/drivers/rgbled/rgbled.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/drivers/rgbled/rgbled.cpp b/src/drivers/rgbled/rgbled.cpp
index fedff769b..aeb7e2f78 100644
--- a/src/drivers/rgbled/rgbled.cpp
+++ b/src/drivers/rgbled/rgbled.cpp
@@ -248,6 +248,11 @@ RGBLED::led_trampoline(void *arg)
void
RGBLED::led()
{
+ if (!_should_run) {
+ _running = false;
+ return;
+ }
+
switch (_mode) {
case RGBLED_MODE_BLINK_SLOW:
case RGBLED_MODE_BLINK_NORMAL:
@@ -471,11 +476,6 @@ RGBLED::set_mode(rgbled_mode_t mode)
work_queue(LPWORK, &_work, (worker_t)&RGBLED::led_trampoline, this, 1);
}
- /* if it should stop, then cancel the workq */
- if (!should_run && _running) {
- _running = false;
- work_cancel(LPWORK, &_work);
- }
}
}