Hi Hector, On Mon, Sep 30, 2013 at 06:07:19PM +0200, Hector Palacios wrote: > I saw your patch at > http://www.spinics.net/lists/stable/msg12952.html and I believe I'm > having a similar issue when not using the port as console. > > With hardware flow control enabled transmission fails at low > baudrates (9600,38400). Apparently the transmitter closes the port Which kernel are you using? I think there were some other fixes concering flow control some time ago. > before the data has been really shifted out (or even transferred by > the DMA). While the console functions check the status of > AUART_STAT_BUSY, the standard functions don't, and the AUART is busy > when shutdown is called at low baudrates. > > I also see the function uart_wait_until_sent() of serial_core.c > getting out with timeout expired. At 9600 baud, this function waits > 2 or 4 jiffies. Increasing (a lot) the timeout of this function > solves the problem. I monitored the time it takes for TX to be empty > and it resulted in sometimes around 200 jiffies (@9600). Again with flow control and another imx28 on the opposite side? Does it work without flow control? Is CTS busy for some time? In that case a simple timeout isn't appropriate. Using console and flow control on the same port might be hairy, not sure though. > The issue can be reproduced using two iMX28 devices (transmitting > between two ports on the same platform usually works fine), > configuring a low baudrate (9600) and hardware flow enabled, and > sending a file of 40K, for example. The last ~200 bytes or so are > typically not sent over the line. I currently don't have the time and machines to test, but maybe the freescale guys (added Fabio to Cc, too) might want to test it. Best regards from Freiburg Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html