ibmpc: Fix Timeout error

Timeout error may be recoverable but may not in some situations.
For safety it is handled as a real error to start keyboard
recognition again.
This commit is contained in:
tmk 2020-05-12 18:21:40 +09:00
parent fa58765325
commit 4028b200be

View file

@ -247,11 +247,14 @@ ISR(IBMPC_INT_VECT)
} else {
// should not take more than 1ms
if (timer_start != t && (uint8_t)(timer_start + 1) != t) {
ibmpc_isr_debug = isr_state;
ibmpc_error = IBMPC_ERR_TIMEOUT;
//goto ERROR;
// timeout error recovery by clearing isr_state?
timer_start = t;
isr_state = 0x8000;
goto ERROR;
// timeout error recovery - start receiving new data
// it seems to work somehow but may not under unstable situation
//timer_start = t;
//isr_state = 0x8000;
}
}