Hi,

I noticed some strange CTRL-C behavior in a BSP command. 
When I run my bsp command interactively everything is fine.
The command waits for a condition and displays a rotating cursor
(see board/esd/common/cmd_loadpci.c):

...
int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
        ...
        char str[] = "\\|/-";
        ...

        while(1) {
                ...
                *ptr = 0xffffffff;
                puts("\nWaiting for action from pci host -");

                /*
                 * Wait for host to write the start address
                 */
                while (*ptr == 0xffffffff) {
                        count++;
                        if (!(count % 100)) {
                                count2++;
                                putc(0x08); /* backspace */
                                putc(str[count2 % 4]);
                        }

                        /* Abort if ctrl-c was pressed */
                        if (ctrlc()) {
                                puts("\nAbort\n");
                                return 0;
                        }

                        udelay(1000);
                }
        }
        ...
}

But when I call this bsp command as bootcmd CTRL-C does not stop the while 
loop. So CTRL-C 
is not detected. Any idea?

Matthias
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to