[PATCH] w6692.c/h do not hang up after IRQ LOOP

From: jhakala@byterapers.com
Date: Mon Oct 15 2001 - 18:06:09 EST


I have had constant problems with Telewell's ISDN card hanging the
connection and telling about "IRQ LOOP". The only fix for that was
reloading of the hisax-module. Some surfing showed that this seems to be
quite common, but not with W6692-based cards from other manufacturers.

So, this patch does some resetting for card after the Irq loop. For me it
works, but I don't know if this causes some new problems for non-Telewell
cards or for other combinations of hardware or on whatever other cases.

diff -uNr linux-2.4.12.orig/drivers/isdn/hisax/w6692.c
linux-2.4.12/drivers/isdn/hisax/w6692.c
--- linux-2.4.12.orig/drivers/isdn/hisax/w6692.c Sun Sep 30
22:26:06 2001
+++ linux-2.4.12/drivers/isdn/hisax/w6692.c Tue Oct 16 01:36:57 2001
@@ -555,7 +555,7 @@
        }
        if (!icnt) {
                printk(KERN_WARNING "W6692 IRQ LOOP\n");
- cs->writeW6692(cs, W_IMASK, 0xff);
+ initW6692(cs, 2);
        }
 }
 
diff -uNr linux-2.4.12.orig/drivers/isdn/hisax/w6692.h
linux-2.4.12/drivers/isdn/hisax/w6692.h
--- linux-2.4.12.orig/drivers/isdn/hisax/w6692.h Sun Sep 30
22:26:06 2001
+++ linux-2.4.12/drivers/isdn/hisax/w6692.h Tue Oct 16 01:36:02 2001
@@ -182,3 +182,6 @@
 /* FIFO thresholds */
 #define W_D_FIFO_THRESH 64
 #define W_B_FIFO_THRESH 64
+
+void __init initW6692(struct IsdnCardState *cs, int part);
+

My first posting, sorry if the patch-format is malformatted in some way
or if it causes your harddrive to crash and your dog to bite you ;)

Jarkko Hakala

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



This archive was generated by hypermail 2b29 : Mon Oct 15 2001 - 21:00:59 EST