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

Jarkko Hakala (jakemus@kukka.net)
Tue, 16 Oct 2001 11:30:46 +0300 (EEST)


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. I
already found out that I can't post from an e-mail account which is not
subscribed, pissed of so I might bite your dog also.. blah

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/