From: Haavard Skinnemoen Replace two instances of barrier() with cpu_relax() since that's the right thing to do when busy-waiting. This does not actually change anything since cpu_relax() is defined as barrier() on both ARM and AVR32. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton --- drivers/serial/atmel_serial.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/serial/atmel_serial.c~atmel_serial-use-cpu_relax-when-busy-waiting drivers/serial/atmel_serial.c --- a/drivers/serial/atmel_serial.c~atmel_serial-use-cpu_relax-when-busy-waiting +++ a/drivers/serial/atmel_serial.c @@ -615,7 +615,7 @@ static void atmel_set_termios(struct uar imr = UART_GET_IMR(port); UART_PUT_IDR(port, -1); while (!(UART_GET_CSR(port) & ATMEL_US_TXEMPTY)) - barrier(); + cpu_relax(); /* disable receiver and transmitter */ UART_PUT_CR(port, ATMEL_US_TXDIS | ATMEL_US_RXDIS); @@ -794,7 +794,7 @@ void __init atmel_register_uart_fns(stru static void atmel_console_putchar(struct uart_port *port, int ch) { while (!(UART_GET_CSR(port) & ATMEL_US_TXRDY)) - barrier(); + cpu_relax(); UART_PUT_CHAR(port, ch); } _