diff options
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_dahdi.c | 5 | ||||
-rw-r--r-- | channels/sig_analog.c | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index de2d0f4ca..f4a81131b 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -9986,7 +9986,10 @@ static void *analog_ss_thread(void *data) /* some switches require a minimum guard time between the last FGD wink and something that answers immediately. This ensures it */ - if (ast_safe_sleep(chan,100)) goto quit; + if (ast_safe_sleep(chan, 100)) { + ast_hangup(chan); + goto quit; + } } dahdi_enable_ec(p); if (NEED_MFDETECT(p)) { diff --git a/channels/sig_analog.c b/channels/sig_analog.c index 92eb19144..5fcb485ee 100644 --- a/channels/sig_analog.c +++ b/channels/sig_analog.c @@ -2010,10 +2010,13 @@ static void *__analog_ss_thread(void *data) } if ((p->sig == ANALOG_SIG_FEATDMF) || (p->sig == ANALOG_SIG_FEATDMF_TA)) { analog_wink(p, idx); - /* some switches require a minimum guard time between - the last FGD wink and something that answers - immediately. This ensures it */ - if (ast_safe_sleep(chan,100)) { + /* + * Some switches require a minimum guard time between the last + * FGD wink and something that answers immediately. This + * ensures it. + */ + if (ast_safe_sleep(chan, 100)) { + ast_hangup(chan); goto quit; } } |