]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: Do not set hw block clear flag on startup if port is already up
authorNenad Corbic <ncorbic@sangoma.com>
Wed, 26 Oct 2011 20:17:11 +0000 (16:17 -0400)
committerNenad Corbic <ncorbic@sangoma.com>
Wed, 26 Oct 2011 20:17:11 +0000 (16:17 -0400)
libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c

index dc8ed7dbc2e868e5d912630dbad663c569066b2f..fbe588961537e573d38f43832971303b47a70ffc 100644 (file)
@@ -307,10 +307,12 @@ static void handle_hw_alarm(ftdm_event_t *e)
                                        }
                                } else {
                                        SS7_DEBUG("handle_hw_alarm: Clear\n");
-                                       sngss7_set_ckt_blk_flag(ss7_info, FLAG_GRP_HW_UNBLK_TX);
-                                       sngss7_clear_ckt_blk_flag(ss7_info, FLAG_GRP_HW_BLOCK_TX);
-                                       if (ftdmchan->state != FTDM_CHANNEL_STATE_SUSPENDED) {
-                                               ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
+                                       if (sngss7_set_ckt_blk_flag(ss7_info, FLAG_GRP_HW_BLOCK_TX)) {
+                                               sngss7_set_ckt_blk_flag(ss7_info, FLAG_GRP_HW_UNBLK_TX);
+                                               sngss7_clear_ckt_blk_flag(ss7_info, FLAG_GRP_HW_BLOCK_TX);
+                                               if (ftdmchan->state != FTDM_CHANNEL_STATE_SUSPENDED) {
+                                                       ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
+                                               }
                                        }
                                }
                        }