]> rtime.felk.cvut.cz Git - socketcan-devel.git/commitdiff
SJA1000: remove error message in ISR with shared interrupts
authorwolf <wolf@030b6a49-0b11-0410-94ab-b0dab22257f2>
Sat, 14 Feb 2009 20:38:23 +0000 (20:38 +0000)
committerwolf <wolf@030b6a49-0b11-0410-94ab-b0dab22257f2>
Sat, 14 Feb 2009 20:38:23 +0000 (20:38 +0000)
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
git-svn-id: svn://svn.berlios.de//socketcan/trunk@943 030b6a49-0b11-0410-94ab-b0dab22257f2

kernel/2.6/drivers/net/can/sja1000/sja1000.c

index bb2950f05e5b22f215f54cf73a0ac6144c5c60de..0519a4a7b307d35d07c1cf04529098adeb1f2846 100644 (file)
@@ -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);