aboutsummaryrefslogtreecommitdiff
path: root/drivers/tty/serial/mfd_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/serial/mfd_core.c')
-rw-r--r--drivers/tty/serial/mfd_core.c5
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);