|
@@ -609,7 +609,9 @@ static void cls_flush_uart_write(struct channel_t *ch)
|
|
|
|
|
|
writeb((UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_XMIT),
|
|
writeb((UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_XMIT),
|
|
&ch->ch_cls_uart->isr_fcr);
|
|
&ch->ch_cls_uart->isr_fcr);
|
|
- usleep_range(10, 20);
|
|
|
|
|
|
+
|
|
|
|
+ /* Must use *delay family functions in atomic context */
|
|
|
|
+ udelay(10);
|
|
|
|
|
|
ch->ch_flags |= (CH_TX_FIFO_EMPTY | CH_TX_FIFO_LWM);
|
|
ch->ch_flags |= (CH_TX_FIFO_EMPTY | CH_TX_FIFO_LWM);
|
|
}
|
|
}
|