Messages in this thread Patch in this message | | | From | Lothar Waßmann <> | Subject | [PATCH] flexcan: Acknowledge all interrupt sources in the IRQ handler | Date | Fri, 9 Dec 2011 14:47:34 +0100 |
| |
Otherwise the handler will get stuck in an endless IRQ loop when an interrupt condition occurs that is not being acked (e.g. TWRN)
Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> --- drivers/net/can/flexcan.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index e023379..ea8f04d 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -577,7 +577,7 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id) reg_iflag1 = flexcan_read(®s->iflag1); reg_esr = flexcan_read(®s->esr); - flexcan_write(FLEXCAN_ESR_ERR_INT, ®s->esr); /* ACK err IRQ */ + flexcan_write(reg_esr, ®s->esr); /* ACK all IRQs */ /* * schedule NAPI in case of: -- 1.5.6.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |