Fix non-determinstic boot hang with crashdumps

On boot, if board_hardfault_init finds a hardfault stored in BBSRAM, it
checks if there is any data available on stdin to see if there is
somebody there to respond to a prompt. But on boards such as cubeorange
where there is not a serial console by default, the ioctl fails and
bytesWaiting is uninitialized. So it will non-deterministally hang the
boot process with no outside feedback if that value is not zero.

Signed-off-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
This commit is contained in:
Alex Mikhalev 2020-11-05 11:51:33 -07:00 committed by Daniel Agar
parent 377dc909ed
commit a0a4b10885
1 changed files with 1 additions and 1 deletions

View File

@ -129,7 +129,7 @@ int board_hardfault_init(int display_to_console, bool allow_prompt)
/* Also end the misery for a user that holds for a key down on the console */
int bytesWaiting;
int bytesWaiting = 0;
ioctl(fileno(stdin), FIONREAD, (unsigned long)((uintptr_t) &bytesWaiting));
if (reboots > display_to_console || bytesWaiting != 0) {