diff options
Diffstat (limited to 'drivers/dahdi')
-rw-r--r-- | drivers/dahdi/wctdm24xxp/base.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c index facbd1b..316d79d 100644 --- a/drivers/dahdi/wctdm24xxp/base.c +++ b/drivers/dahdi/wctdm24xxp/base.c @@ -2876,7 +2876,10 @@ wctdm_init_voicedaa(struct wctdm *wc, struct wctdm_module *mod, wctdm_setreg(wc, mod, 30, reg30); /* Misc. DAA parameters */ - reg31 = (fastpickup) ? 0xb3 : 0xa3; + + /* If fast pickup is set, then the off hook counter will be set to 8 + * ms, otherwise 128 ms. */ + reg31 = (fastpickup) ? 0xe3 : 0xa3; reg31 |= (fxo_modes[_opermode].ohs2 << 3); wctdm_setreg(wc, mod, 31, reg31); @@ -2886,6 +2889,10 @@ wctdm_init_voicedaa(struct wctdm *wc, struct wctdm_module *mod, /* Enable ISO-Cap */ wctdm_setreg(wc, mod, 6, 0x00); + /* Turn off the calibration delay when fastpickup is enabled. */ + if (fastpickup) + wctdm_setreg(wc, mod, 17, wctdm_getreg(wc, mod, 17) | 0x20); + /* Wait 1000ms for ISO-cap to come up */ newjiffies = jiffies; newjiffies += 2 * HZ; |