[PATCH 4/5] Char: isicom, check card state in isr

From: Jiri Slaby
Date: Fri Dec 15 2006 - 20:33:25 EST


isicom, check card state in isr

Check if the card really interrupted us by reading its IO space and
eventualy return IRQ_NONE.

Signed-off-by: Jiri Slaby <jirislaby@xxxxxxxxx>

---
commit 601667e4ee38183358ea8f7980537bb8c09d8728
tree ccb1c085309ad35178f8d741e7c074308ae277ee
parent 405c17b09b010b41f6ec2388a11777e4048c7976
author Jiri Slaby <jirislaby@xxxxxxxxx> Fri, 15 Dec 2006 23:29:57 +0059
committer Jiri Slaby <jirislaby@xxxxxxxxx> Fri, 15 Dec 2006 23:29:57 +0059

drivers/char/isicom.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index 7968160..f4faa76 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -539,6 +539,11 @@ static irqreturn_t isicom_interrupt(int irq, void *dev_id)
return IRQ_NONE;

base = card->base;
+
+ /* did the card interrupt us? */
+ if (!(inw(base + 0x0e) & 0x02))
+ return IRQ_NONE;
+
spin_lock(&card->card_lock);

/*
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/