Tiva serial: Add volatile to fix a wait loop that was not waiting; CR really should preced LF in CR-LF expansion

This commit is contained in:
Gregory Nutt 2015-01-02 14:05:42 -06:00
parent 52aeabb4b2
commit 24f8fd53ab

View File

@ -685,7 +685,7 @@ static inline void up_restoreuartint(struct up_dev_s *priv, uint32_t im)
#ifdef HAVE_SERIAL_CONSOLE
static inline void up_waittxnotfull(struct up_dev_s *priv)
{
int tmp;
volatile int tmp;
/* Limit how long we will wait for the TX available condition */
@ -1355,8 +1355,6 @@ int up_putc(int ch)
uint32_t im;
up_disableuartint(priv, &im);
up_waittxnotfull(priv);
up_serialout(priv, TIVA_UART_DR_OFFSET, (uint32_t)ch);
/* Check for LF */
@ -1368,6 +1366,9 @@ int up_putc(int ch)
up_serialout(priv, TIVA_UART_DR_OFFSET, (uint32_t)'\r');
}
up_waittxnotfull(priv);
up_serialout(priv, TIVA_UART_DR_OFFSET, (uint32_t)ch);
up_waittxnotfull(priv);
up_restoreuartint(priv, im);
#endif