serial/mxs-auart: fix race condition in interrupt handler
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 4 Jul 2013 09:28:51 +0000 (11:28 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 10 Sep 2013 00:57:15 +0000 (01:57 +0100)
commit5404dcaa6bc28af1bcd26e96c5010cc282c54a91
tree12c2444f11c56f870d2fb73acfc49e258abaddb7
parent6380025aff7900370d4488ee4bfd95ac6c6491d5
serial/mxs-auart: fix race condition in interrupt handler

commit d970d7fe65adff5efe75b4a73c4ffc9be57089f7 upstream.

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.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/tty/serial/mxs-auart.c