diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c index bb9c3574caa983f61766cad4af3374d2aca5f861..4d1ccc2b762d5ff902cc56f2815a71c165b27566 100644 --- a/drivers/serial/atmel_serial.c +++ b/drivers/serial/atmel_serial.c @@ -615,7 +615,7 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios, 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(struct atmel_port_fns *fns) 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); }