can: at91_can: RX queue could get stuck at high bus load
authorWolfgang Grandegger <wg@grandegger.com>
Mon, 13 Jun 2016 13:44:19 +0000 (15:44 +0200)
committerWilly Tarreau <w@1wt.eu>
Sat, 27 Aug 2016 09:40:32 +0000 (11:40 +0200)
commit56a5db827f79ab8ed1161d1b2d6d14d2a4d60624
tree5f29be00ea700041815bdeb69186432ce219883c
parent389ca69d3d92b48340928b592b4d80948e284b4c
can: at91_can: RX queue could get stuck at high bus load

commit 43200a4480cbbe660309621817f54cbb93907108 upstream.

At high bus load it could happen that "at91_poll()" enters with all RX
message boxes filled up. If then at the end the "quota" is exceeded as
well, "rx_next" will not be reset to the first RX mailbox and hence the
interrupts remain disabled.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Tested-by: Amr Bekhit <amrbekhit@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/net/can/at91_can.c