can: sja1000: fix {pre,post}_irq() handling and IRQ handler return value
authorOliver Hartkopp <socketcan@hartkopp.net>
Thu, 21 Nov 2013 17:03:07 +0000 (18:03 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 25 Nov 2013 20:16:53 +0000 (21:16 +0100)
commit2fea6cd303c0d0cd9067da31d873b6a6d5bd75e7
tree3d61a16c89cb5e25b203b900f1f1bebe298443bb
parent2c7a9dc1641664173211c4ebc5db510a08684c46
can: sja1000: fix {pre,post}_irq() handling and IRQ handler return value

This patch fixes the issue that the sja1000_interrupt() function may have
returned IRQ_NONE without processing the optional pre_irq() and post_irq()
function before. Further the irq processing counter 'n' is moved to the end of
the while statement to return correct IRQ_[NONE|HANDLED] values at error
conditions.

Reported-by: Wolfgang Grandegger <wg@grandegger.com>
Acked-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/sja1000/sja1000.c