serial/mxs-auart: fix race condition in interrupt handler
commitd970d7fe65adff5efe75b4a73c4ffc9be57089f7
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 4 Jul 2013 09:28:51 +0000 (4 11:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Jul 2013 23:33:59 +0000 (26 16:33 -0700)
tree3dc57f349b1c3e248a9054f004344494c2da100d
parent3bf5d350586d98eb28ab7f86ffbd66518ffd95d8
serial/mxs-auart: fix race condition in interrupt handler

The handler needs to ack the pending events before actually handling them.
Otherwise a new event might come in after it it considered non-pending or
handled and is acked then without being handled. So this event is only
noticed when the next interrupt happens.

Without this patch an i.MX28 based machine running an rt-patched kernel
regularly hangs during boot.

Cc: stable@vger.kernel.org # v2.6.39+
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/mxs-auart.c