jme: Faulty IRQ handle bug fix
authorakeemting <akeem@jmicron.com>
Thu, 9 Oct 2008 02:50:03 +0000 (19:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 9 Oct 2008 02:51:32 +0000 (19:51 -0700)
Fix IRQ handle bug when interrupt mode.

The driver was incorrectly handled and returned IRQ_HANDLED
while the device is not generating the interrupt.
It happened due to faulty determination of interrupt status register.

Found by: "Ethan" <ethanhsiao@jmicron.com>
Fixed by: "akeemting" <akeem@jmicron.com>
Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/jme.c

index 635f616fd974e8141d2d698a4b4e76559574abdb..3ab2442cd2285486edfb80914235031d7c076b2a 100644 (file)
@@ -1463,7 +1463,7 @@ jme_intr(int irq, void *dev_id)
        /*
         * Check if it's really an interrupt for us
         */
-       if (unlikely(intrstat == 0))
+       if (unlikely((intrstat & INTR_ENABLE) == 0))
                return IRQ_NONE;
 
        /*