diff options
author | Shaun Ruffell <sruffell@digium.com> | 2012-01-10 22:05:43 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2012-01-10 22:05:43 +0000 |
commit | 834ec21c57bc044f282bd00d4d38218fbaaee81c (patch) | |
tree | 18af358fc17636eae9a48eff5e4f458626fecc80 | |
parent | 6581fcef318c49e798c2d2e7dc8683ced24fe841 (diff) |
wctdm24xxp: FXS on-hook transmission timer incorrect.
The DAHDI_ONHOOKTRANSFER ioctl was incorrectly setting the ohttimer to 0. The
result was that an FXS port was leaving the on-hook transfer state before
finishing the transmission.
This was discovered while looking at why ./fxstest dtmfcid was not able to
pass the DTMF callerid digits to an attached FXO port properly.
Fixes a regression introduced in r10167 "wctdm24xxp: Use interval for checking
FXS on hook transfer timer." [1], first released in 2.6.0.
[1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10167
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10413
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10415 a0bf4364-ded3-4de4-8d8a-66a801d63aff
-rw-r--r-- | drivers/dahdi/wctdm24xxp/base.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c index 75123c8..07813da 100644 --- a/drivers/dahdi/wctdm24xxp/base.c +++ b/drivers/dahdi/wctdm24xxp/base.c @@ -3727,14 +3727,15 @@ static int wctdm_ioctl(struct dahdi_chan *chan, unsigned int cmd, unsigned long if (((fxs->lasttxhook & SLIC_LF_SETMASK) == SLIC_LF_ACTIVE_FWD) || ((fxs->lasttxhook & SLIC_LF_SETMASK) == SLIC_LF_ACTIVE_REV)) { + int res; - x = set_lasttxhook_interruptible(wc, fxs, + res = set_lasttxhook_interruptible(wc, fxs, (POLARITY_XOR(fxs) ? SLIC_LF_OHTRAN_REV : SLIC_LF_OHTRAN_FWD), &mod->sethook); if (debug & DEBUG_CARD) { - if (x) { + if (res) { dev_info(&wc->vb.pdev->dev, "Channel %d TIMEOUT: " "OnHookTransfer start\n", |