[zaptel-commits] mattf: branch 1.4 r2858 - in /branches/1.4: ./ wctdm24xxp/base.c wcte12xp.c

SVN commits to the Zaptel project zaptel-commits at lists.digium.com
Thu Aug 16 15:04:27 CDT 2007


Author: mattf
Date: Thu Aug 16 15:04:27 2007
New Revision: 2858

URL: http://svn.digium.com/view/zaptel?view=rev&rev=2858
Log:
Merged revisions 2857 via svnmerge from 
https://origsvn.digium.com/svn/zaptel/branches/1.2

........
r2857 | mattf | 2007-08-16 15:02:58 -0500 (Thu, 16 Aug 2007) | 1 line

Fix for when voicebus based cards stop taking interrupts on some systems
........

Modified:
    branches/1.4/   (props changed)
    branches/1.4/wctdm24xxp/base.c
    branches/1.4/wcte12xp.c

Propchange: branches/1.4/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.

Modified: branches/1.4/wctdm24xxp/base.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/wctdm24xxp/base.c?view=diff&rev=2858&r1=2857&r2=2858
==============================================================================
--- branches/1.4/wctdm24xxp/base.c (original)
+++ branches/1.4/wctdm24xxp/base.c Thu Aug 16 15:04:27 2007
@@ -1671,6 +1671,15 @@
 		wctdm_setctl(wc, 0x0008, 0x00000000);
 #endif
 	}
+
+	if (ints & 0x0000a3ae) {
+		/* This will allow us to recover if interrupts are held for a long period of time */
+		if (debug & DEBUG_CARD)
+			printk("Abnormal interrupt %08x detected\n", ints);
+		wctdm_setctl(wc, 0x0008, 0x00000000);
+		wctdm_setctl(wc, 0x0010, 0x00000000);
+	}
+
 #ifdef LINUX26
 	return IRQ_RETVAL(1);
 #endif		
@@ -3799,8 +3808,8 @@
 	for (x=0;x<10;x++) 
 		schluffen(&wc->regq);
 	printk("After resetting the modules...\n");
-	/* Switch to caring only about receive interrupts */
-	wctdm_setintmask(wc, 0x00010040);
+	
+	wctdm_setintmask(wc, 0x0001f7fe);
 	
 	/* Make sure all units go into daisy chain mode */
 	spin_lock_irqsave(&wc->reglock, flags);

Modified: branches/1.4/wcte12xp.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/wcte12xp.c?view=diff&rev=2858&r1=2857&r2=2858
==============================================================================
--- branches/1.4/wcte12xp.c (original)
+++ branches/1.4/wcte12xp.c Thu Aug 16 15:04:27 2007
@@ -728,7 +728,7 @@
 	for (x = 0; x < 10; x++)
 		schluffen(&wc->regq);
 	/* Switch to caring only about receive interrupts */
-	t1_setintmask(wc, 0x00010040);
+	t1_setintmask(wc, 0x0001f7fe);
 }
 
 static void t1_stop_dma(struct t1 *wc)
@@ -1861,6 +1861,13 @@
 		} while(res);
 	}
 
+	if (ints & 0x0000a3ae) {
+		/* This will allow us to recover if interrupts are held for a long period of time */
+		debug_printk(1, "Abnormal interrupt %08x detected\n", ints);
+		t1_setctl(wc, 0x0008, 0x00000000);
+		t1_setctl(wc, 0x0010, 0x00000000);
+	}
+
 #ifdef LINUX26
 	return IRQ_RETVAL(1);
 #endif		




More information about the zaptel-commits mailing list