From 5ee015610c1ffa42d82e722ede8da4080722fcfd Mon Sep 17 00:00:00 2001 From: David Yat Sin Date: Mon, 31 Oct 2011 10:25:07 -0400 Subject: [PATCH] freetdm: Added some code to differentiate between wanpipe_wait returning FTDM_TIMEOUT and FTDM_FAIL on transmit --- .../ftmod_sangoma_isdn_stack_rcv.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c index 3788a9c25b..f5ff189ad7 100644 --- a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c +++ b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c @@ -897,12 +897,19 @@ int16_t sngisdn_rcv_l1_data_req(uint16_t spId, sng_l1_frame_t *l1_frame) do { flags = FTDM_WRITE; status = signal_data->dchan->fio->wait(signal_data->dchan, &flags, 1000); - if (status != FTDM_SUCCESS) { - ftdm_log_chan_msg(signal_data->dchan, FTDM_LOG_WARNING, "transmit timed-out\n"); - return -1; + switch(status) { + case FTDM_SUCCESS: + break; + case FTDM_TIMEOUT: + continue; + case FTDM_FAIL: + default: + ftdm_log_chan_msg(signal_data->dchan, FTDM_LOG_WARNING, "failed to poll for channel\n"); + return -1; } + /* status = FTDM_SUCCESS */ if ((flags & FTDM_WRITE)) { #if 0 int i;