serial: sh-sci: Submit RX DMA from RX interrupt on (H)SCIF
[deliverable/linux.git] / drivers / tty / serial / sh-sci.c
index eb2b369b1cf1be0b1b837e6cbb2a980ae3f4510a..02aaf4d213d9c280c6775094cc5a12933d10b28b 100644 (file)
@@ -1317,7 +1317,8 @@ static void rx_timer_fn(unsigned long arg)
 
        spin_unlock_irqrestore(&port->lock, flags);
 
-       sci_submit_rx(s);
+       if (port->type == PORT_SCIFA || port->type == PORT_SCIFB)
+               sci_submit_rx(s);
 }
 
 static void sci_request_dma(struct uart_port *port)
@@ -1403,7 +1404,8 @@ static void sci_request_dma(struct uart_port *port)
 
                setup_timer(&s->rx_timer, rx_timer_fn, (unsigned long)s);
 
-               sci_submit_rx(s);
+               if (port->type == PORT_SCIFA || port->type == PORT_SCIFB)
+                       sci_submit_rx(s);
        }
 }
 
@@ -1442,6 +1444,7 @@ static irqreturn_t sci_rx_interrupt(int irq, void *ptr)
                        scr |= SCSCR_RDRQE;
                } else {
                        scr &= ~SCSCR_RIE;
+                       sci_submit_rx(s);
                }
                serial_port_out(port, SCSCR, scr);
                /* Clear current interrupt */
This page took 0.023978 seconds and 5 git commands to generate.