diff --git a/drivers/tty/serial/msm_geni_serial.c b/drivers/tty/serial/msm_geni_serial.c index 9b77aee36fa2..bceac22ec25b 100644 --- a/drivers/tty/serial/msm_geni_serial.c +++ b/drivers/tty/serial/msm_geni_serial.c @@ -1913,18 +1913,15 @@ static bool handle_tx_dma_xfer(u32 m_irq_status, struct uart_port *uport) SE_DMA_TX_IRQ_CLR); if (dma_tx_status & (TX_RESET_DONE | TX_GENI_CANCEL_IRQ)) - ret = true; - - if (m_irq_status & (M_CMD_CANCEL_EN | M_CMD_ABORT_EN)) - ret = true; - - if (ret) - return ret; + return true; if (dma_tx_status & TX_DMA_DONE) msm_geni_serial_handle_dma_tx(uport); } + if (m_irq_status & (M_CMD_CANCEL_EN | M_CMD_ABORT_EN)) + ret = true; + return ret; } @@ -1985,11 +1982,11 @@ static bool handle_rx_dma_xfer(u32 s_irq_status, struct uart_port *uport) if (dma_rx_status & (RX_EOT | RX_GENI_CANCEL_IRQ | RX_DMA_DONE)) ret = true; - - if (s_irq_status & (S_CMD_CANCEL_EN | S_CMD_ABORT_EN)) - ret = true; } + if (s_irq_status & (S_CMD_CANCEL_EN | S_CMD_ABORT_EN)) + ret = true; + return ret; }