diff --git a/drivers/tty/serial/msm_serial_hs.c b/drivers/tty/serial/msm_serial_hs.c index 9a9ea7c62db1..844c7617b9e6 100644 --- a/drivers/tty/serial/msm_serial_hs.c +++ b/drivers/tty/serial/msm_serial_hs.c @@ -2831,6 +2831,7 @@ static int uartdm_init_port(struct uart_port *uport) struct msm_hs_port *msm_uport = UARTDM_TO_MSM(uport); struct msm_hs_tx *tx = &msm_uport->tx; struct msm_hs_rx *rx = &msm_uport->rx; + struct sched_param param = { .sched_priority = 1 }; init_waitqueue_head(&rx->wait); init_waitqueue_head(&tx->wait); @@ -2845,6 +2846,8 @@ static int uartdm_init_port(struct uart_port *uport) MSM_HS_ERR("%s(): error creating task", __func__); goto exit_lh_init; } + sched_setscheduler(rx->task, SCHED_FIFO, ¶m); + init_kthread_work(&rx->kwork, msm_serial_hs_rx_work); init_kthread_worker(&tx->kworker); @@ -2854,6 +2857,7 @@ static int uartdm_init_port(struct uart_port *uport) MSM_HS_ERR("%s(): error creating task", __func__); goto exit_lh_init; } + sched_setscheduler(tx->task, SCHED_FIFO, ¶m); init_kthread_work(&tx->kwork, msm_serial_hs_tx_work);