Fix problem with sleep in NetConsole (use get_timer())

Patch by Stefan Roese, 20 Oct 2005
This commit is contained in:
Stefan Roese 2005-10-20 16:36:44 +02:00
parent 1e25f957c8
commit c4c13df284
2 changed files with 11 additions and 9 deletions

View file

@ -2,6 +2,9 @@
Changes for U-Boot 1.1.4: Changes for U-Boot 1.1.4:
====================================================================== ======================================================================
* Fix problem with sleep in NetConsole (use get_timer())
Patch by Stefan Roese, 20 Oct 2005
* Add NetConsole Support for AMCC eval boards * Add NetConsole Support for AMCC eval boards
Patch by Stefan Roese, 20 Oct 2005 Patch by Stefan Roese, 20 Oct 2005

View file

@ -31,6 +31,7 @@
int do_sleep (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) int do_sleep (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{ {
ulong start = get_timer(0);
ulong delay; ulong delay;
if (argc != 2) { if (argc != 2) {
@ -38,20 +39,18 @@ int do_sleep (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 1; return 1;
} }
delay = simple_strtoul(argv[1], NULL, 10); delay = simple_strtoul(argv[1], NULL, 10) * CFG_HZ;
while (delay) { while (get_timer(start) < delay) {
int i; if (ctrlc ()) {
for (i=0; i<1000; ++i) { return (-1);
if (ctrlc ()) {
return (-1);
}
udelay (1000);
} }
--delay; udelay (100);
} }
return 0; return 0;
} }
/* Implemented in $(CPU)/interrupts.c */ /* Implemented in $(CPU)/interrupts.c */
#if (CONFIG_COMMANDS & CFG_CMD_IRQ) #if (CONFIG_COMMANDS & CFG_CMD_IRQ)
int do_irqinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); int do_irqinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);