diff options
Diffstat (limited to 'drivers/tty/serial/mfd_core.c')
-rw-r--r-- | drivers/tty/serial/mfd_core.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/tty/serial/mfd_core.c b/drivers/tty/serial/mfd_core.c index bbb318d3158..39f25226abd 100644 --- a/drivers/tty/serial/mfd_core.c +++ b/drivers/tty/serial/mfd_core.c @@ -2125,7 +2125,10 @@ static void serial_hsu_command(struct uart_hsu_port *up) serial_out(up, UART_IER, 0); while (cl_get_char(up, &c)) { while (!wait_for_xmitr(up)) - schedule(); + if (up->in_tasklet) + cpu_relax(); + else + schedule(); serial_out(up, UART_TX, c); } serial_out(up, UART_IER, up->ier); |