On Tue, Oct 9, 2018 at 5:41 AM Simon Glass <s...@chromium.org> wrote: > > Hi, > > On 7 October 2018 at 11:52, Simon Goldschmidt > <simon.k.r.goldschm...@gmail.com> wrote: > > At least on socfpga gen5, _debug_uart_putc() can be called > > before debug_uart_init(), which leaves us stuck in an > > infinite loop in the ns16550 debug uart driver. > > Can you fix that? That is a bug.
I already posted a patch for that but it was rejected: http://patchwork.ozlabs.org/patch/955765/ As patman automatically choses the CC addresses, you weren't on the CC list back then, since that patch covered different filfes. Simon > > > > > Since this prevents debugging startup problems instead > > of helping, let's add a field to 'gd' that prevents > > calling the _debug_uart_putc() until debug_uart_init() > > has been called. > > > > Signed-off-by: Simon Goldschmidt <simon.k.r.goldschm...@gmail.com> > > --- > > > > include/asm-generic/global_data.h | 3 +++ > > include/debug_uart.h | 19 ++++++++++++++----- > > 2 files changed, 17 insertions(+), 5 deletions(-) > > > > diff --git a/include/asm-generic/global_data.h > > b/include/asm-generic/global_data.h > > index c83fc01b76..9de7f48476 100644 > > --- a/include/asm-generic/global_data.h > > +++ b/include/asm-generic/global_data.h > > @@ -122,6 +122,9 @@ typedef struct global_data { > > struct list_head log_head; /* List of struct log_device */ > > int log_fmt; /* Mask containing log format info > > */ > > #endif > > +#ifdef CONFIG_DEBUG_UART > > + int debug_uart_initialized; /* No print before debug_uart_init > > */ > > +#endif > > There is no requirement that gd be set up before the debug UART is > running. It certainly isn't on the few platforms I know about. > > Regards, > Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot