From 71373f8830a8b02553b1297657c76868f74e9065 Mon Sep 17 00:00:00 2001 From: wolf Date: Sat, 14 Feb 2009 20:38:23 +0000 Subject: [PATCH] SJA1000: remove error message in ISR with shared interrupts Signed-off-by: Wolfgang Grandegger git-svn-id: svn://svn.berlios.de//socketcan/trunk@943 030b6a49-0b11-0410-94ab-b0dab22257f2 --- kernel/2.6/drivers/net/can/sja1000/sja1000.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/kernel/2.6/drivers/net/can/sja1000/sja1000.c b/kernel/2.6/drivers/net/can/sja1000/sja1000.c index bb2950f..0519a4a 100644 --- a/kernel/2.6/drivers/net/can/sja1000/sja1000.c +++ b/kernel/2.6/drivers/net/can/sja1000/sja1000.c @@ -528,20 +528,13 @@ irqreturn_t sja1000_interrupt(int irq, void *dev_id) uint8_t isrc, status; int n = 0; + /* Shared interrupts and IRQ off? */ + if (priv->read_reg(dev, REG_IER) == IRQ_OFF) + return IRQ_NONE; + if (priv->pre_irq) priv->pre_irq(dev); - if (priv->can.state == CAN_STATE_STOPPED) { - dev_err(ND2D(dev), "%s: controller is in reset mode!" - "MOD=0x%02X IER=0x%02X IR=0x%02X SR=0x%02X!\n", - __func__, - priv->read_reg(dev, REG_MOD), - priv->read_reg(dev, REG_IER), - priv->read_reg(dev, REG_IR), - priv->read_reg(dev, REG_SR)); - goto out; - } - while ((isrc = priv->read_reg(dev, REG_IR)) && (n < 20)) { n++; status = priv->read_reg(dev, REG_SR); @@ -570,7 +563,6 @@ irqreturn_t sja1000_interrupt(int irq, void *dev_id) } } -out: if (priv->post_irq) priv->post_irq(dev); -- 2.39.2