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 09:49:28 +0000 (11:49 +0200)
commit63b9e0f32f72892de7064c6888484b881ddbb42f
treef031d3ec57ce1702d96f3f5fc1abf6eb7abebf55
parentb4fedbef96b8d29f336d355d2b0858518e405090
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