serial: sh-sci: Don't kick tx in sci_er_interrupt() when using DMA
If CONFIG_SERIAL_SH_SCI_DMA is enabled, the driver doesn't enable TIE on SCIF or HSCIF. However, this driver may call sci_tx_interrupt() in sci_er_interrupt(). After that, the driver cannot care of the interrupt, and then "irq 109: nobody cared" happens on r8a7791/koelsch board. This patch fixes the issue. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> [geert] Keep kicking tx when using PIO Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e6403c112f
commit
8eadb56d68
|
@ -1011,7 +1011,8 @@ static irqreturn_t sci_er_interrupt(int irq, void *ptr)
|
|||
sci_clear_SCxSR(port, SCxSR_ERROR_CLEAR(port));
|
||||
|
||||
/* Kick the transmission */
|
||||
sci_tx_interrupt(irq, ptr);
|
||||
if (!s->chan_tx)
|
||||
sci_tx_interrupt(irq, ptr);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue