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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Aug 2016 10:54:48 +0000 (12:54 +0200)
commit88e08b416173652eecb33f1d87da68096b06b8b2
tree7719429fed423786861d18d978e7d60e8b0146de
parent81dc160128e7d8a9e3d5a85657514cd9a110007d
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>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/can/at91_can.c