diff --git a/ighdriv.c b/ighdriv.c index 1a5033d..81bbb16 100644 --- a/ighdriv.c +++ b/ighdriv.c @@ -393,6 +393,11 @@ static long IghRead(long pc, void *object) float delta; int up10, lo10; + if (eab->state == EASE_abort) { + eab->state = EASE_idle; + FsmRestartTask(eab->task, eab->idle); + return 0; + } switch (pc) { default: /* FSM BEGIN ****************************** */ EasePchk(drv); diff --git a/oxinst.c b/oxinst.c index 375bd23..407d555 100644 --- a/oxinst.c +++ b/oxinst.c @@ -96,6 +96,7 @@ int OxiHandler(void *object) } else { /* version (and therefore device) changed */ eab->errCode = EASE_DEV_CHANGED; eab->state = EASE_idle; + eab->version[0] = '\0'; goto error; } eab->state = EASE_idle;