diff options
author | Shaun Ruffell <sruffell@digium.com> | 2012-01-10 20:45:30 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2012-01-10 20:45:30 +0000 |
commit | c30f83e75e82ec1ccba1309327665cbe23f36593 (patch) | |
tree | 63c52524685880ad30bb77731e2a1533c8b54ae2 /drivers/dahdi | |
parent | d790e7ec15490f61afed3b26ca8d8d2d80ca1d01 (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>
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10413 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi')
-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", |