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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 11 Aug 2013 22:38:21 +0000 (15:38 -0700)
commit8c7e5916a54affa0565428f8926008f0d175ae88
tree8ea0e33b083ec84bcf18fdb13118b4551a240b1e
parent83a5a29e61bc572110c0c4b8fc4e8d7838b8db53
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>
drivers/tty/serial/mxs-auart.c