Nico Huber (nico.huber@secunet.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3533
-gerrit
commit 7e52e68df9e990127f4e01453a2dfb56035b5496 Author: Nico Huber nico.huber@secunet.com Date: Tue Jun 25 15:19:48 2013 +0200
libpayload: Use longer delay in tinycurses' wgetch()
The counted delay of 1ms was shorter than the time usb_poll() took (~30ms observed). So with a given timeout of 100ms it actually took 3s. We can lower the problem if we delay 10ms per loop iteration.
Change-Id: I6e084bdd05332111cc8adcd13493a5dfb4bc8b28 Signed-off-by: Nico Huber nico.huber@secunet.com --- payloads/libpayload/curses/keyboard.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/payloads/libpayload/curses/keyboard.c b/payloads/libpayload/curses/keyboard.c index 7ebb04f..9648dde 100644 --- a/payloads/libpayload/curses/keyboard.c +++ b/payloads/libpayload/curses/keyboard.c @@ -175,15 +175,15 @@ static int curses_getchar(int _delay) } #endif
- if (_delay == 0) + if (_delay == 0) { break; - - if (_delay > 0) { - mdelay(1); - _delay--; + } else if (_delay >= 10) { + mdelay(10); + _delay -= 10; + } else if (_delay > 0) { + mdelay(_delay); + _delay = 0; } - - } while (1);
return ERR;