Search
j0ke.net Open Build Service
>
Projects
>
server:telephony
>
zaptel
> zaptel-wctel2xp_2.diff
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File zaptel-wctel2xp_2.diff of Package zaptel (Revision 12)
Currently displaying revision
12
,
show latest
--- branches/1.4/wcte12xp/base.c 2008/01/25 23:13:41 3738 +++ branches/1.4/wcte12xp/base.c 2008/02/05 23:48:24 3805 @@ -1898,6 +1898,7 @@ /* Read interrupts */ spin_lock(&wc->reglock); ints = __t1_getctl(wc, 0x0028); + ints &= 0x3fef; /* Just look at the interrupt conditions */ if (!ints) { spin_unlock(&wc->reglock); @@ -1910,7 +1911,6 @@ /* clear interrupts interrupts (we only get here if interrupt is for us) */ __t1_setctl(wc, 0x0028, ints); - ints &= wc->intmask; if (ints & 0x00000041) { do { @@ -1918,6 +1918,13 @@ res |= t1_check_descriptor(wc, 1); } 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); + } spin_unlock(&wc->reglock); #ifdef LINUX26 @@ -2114,6 +2121,9 @@ module_param(vpmsupport, int, S_IRUGO | S_IWUSR); module_param(vpmdtmfsupport, int, S_IRUGO | S_IWUSR); module_param(vpmtsisupport, int, S_IRUGO | S_IWUSR); +module_param(vpmnlptype, int, S_IRUGO | S_IWUSR); +module_param(vpmnlpthresh, int, S_IRUGO | S_IWUSR); +module_param(vpmnlpmaxsupp, int, S_IRUGO | S_IWUSR); #endif #else MODULE_PARM(debug, "i");