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 <[EMAIL PROTECTED]> --- commit 601667e4ee38183358ea8f7980537bb8c09d8728 tree ccb1c085309ad35178f8d741e7c074308ae277ee parent 405c17b09b010b41f6ec2388a11777e4048c7976 author Jiri Slaby <[EMAIL PROTECTED]> Fri, 15 Dec 2006 23:29:57 +0059 committer Jiri Slaby <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/