mISDN: Fix DTMF detection enable/disable
DTMF detection was enabled when it was not supposed to. Signed-off-by: Andreas Eversberg <andreas@eversberg.eu> Signed-off-by: Karsten Keil <keil@b1-systems.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
8c90e11e35
Коммит
b0579d7459
|
@ -116,6 +116,7 @@ struct dsp_conf {
|
|||
#define ECHOCAN_BUFF_MASK 0x3ff /* -1 */
|
||||
|
||||
struct dsp_dtmf {
|
||||
int enable; /* dtmf is enabled */
|
||||
int treshold; /* above this is dtmf (square of) */
|
||||
int software; /* dtmf uses software decoding */
|
||||
int hardware; /* dtmf uses hardware decoding */
|
||||
|
|
|
@ -306,6 +306,7 @@ dsp_control_req(struct dsp *dsp, struct mISDNhead *hh, struct sk_buff *skb)
|
|||
"to %d\n", *((int *)data));
|
||||
dsp->dtmf.treshold = (*(int *)data) * 10000;
|
||||
}
|
||||
dsp->dtmf.enable = 1;
|
||||
/* init goertzel */
|
||||
dsp_dtmf_goertzel_init(dsp);
|
||||
|
||||
|
@ -316,6 +317,7 @@ dsp_control_req(struct dsp *dsp, struct mISDNhead *hh, struct sk_buff *skb)
|
|||
case DTMF_TONE_STOP: /* turn off DTMF */
|
||||
if (dsp_debug & DEBUG_DSP_CORE)
|
||||
printk(KERN_DEBUG "%s: stop dtmf\n", __func__);
|
||||
dsp->dtmf.enable = 0;
|
||||
dsp->dtmf.hardware = 0;
|
||||
dsp->dtmf.software = 0;
|
||||
break;
|
||||
|
|
|
@ -51,6 +51,9 @@ void dsp_dtmf_hardware(struct dsp *dsp)
|
|||
{
|
||||
int hardware = 1;
|
||||
|
||||
if (!dsp->dtmf.enable)
|
||||
return;
|
||||
|
||||
if (!dsp->features.hfc_dtmf)
|
||||
hardware = 0;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче