diff --git a/src/relay_chn_core.c b/src/relay_chn_core.c index d1347cc..2d8fba8 100644 --- a/src/relay_chn_core.c +++ b/src/relay_chn_core.c @@ -216,8 +216,8 @@ void relay_chn_issue_cmd(relay_chn_ctl_t* chn_ctl, relay_chn_cmd_t cmd) } if (cmd == RELAY_CHN_CMD_STOP) { - if (chn_ctl->state == RELAY_CHN_STATE_STOPPED) { - return; // Do nothing if already stopped + if (chn_ctl->state == RELAY_CHN_STATE_STOPPED || chn_ctl->state == RELAY_CHN_STATE_IDLE) { + return; // Do nothing if already stopped or idle } // If the command is STOP, issue it immediately relay_chn_dispatch_cmd(chn_ctl, cmd);