Subject: [PATCH] ARM: imx serial driver: fix resume

From: [email-masked] (Andrew Morton)
Date: Thu, 7 Oct 2010 15:56:12 -0700

On Wed,  6 Oct 2010 18:57:16 +0200
Daniel Mack <[email-masked]> wrote:

> From: Volker Ernst <[email-masked]>
> 
> I just came across a bug in the IMX31 serial driver which is still
> present in the newest kernels and which prevents successful
> resume-operation for the IMX31 serial ports.
> 
> What happens is that in "drivers/serial/imx.c" on resume function
> "serial_imx_resume" gets called. This function in turn calls
> "uart_resume_port" (in the generic serial driver "serial_core.c"),
> which in turn calls "imx_start_tx" in "imx.c" (in case the SIO-port
> was really suspended) which in turn calls "imx_transmit_buffer".
> 
> However calling "imx_transmit_buffer" with an empty TX-fifo (as is
> usually the case) will result in the serial port starting to transmit
> (actually the old [already sent] tx-buffer), as there is no check if
> the tx-buffer is empty before starting to feed tx-fifo-data to the
> serial port hardware.
> 
> Signed-off-by: Volker Ernst <[email-masked]>
> Cc: Daniel Mack <[email-masked]>

This should have been Signed-off-by:, as you were on the patch delivery
path.

I made that change to my copy of the patch, thanks.

> Cc: Andy Green <[email-masked]>