summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-11-02 19:46:18 +0000
committerShaun Ruffell <sruffell@digium.com>2011-11-02 19:46:18 +0000
commit93226d8ca9b00d1b2e1333a649e8c4062302984f (patch)
treead65693d6400a70df91e8e68d3258281af2e1ac5
parent43fb2d56a304c147d8089dbbcbf3fceaac798a8b (diff)
dahdi: First span registered becomes master by default.
r10205 "dahdi: Check for master in DAHDI_STARTUP / resolves MeetMe regression." did not handle the case for the wcb4xxp driver since it would set DAHDI_FLAG_RUNNING as part of the probe. Therefore, the DAHDI_STARTUP ioctl was never processed for it, creating a situation where audio is missing on channels that are conferenced with channels on the BRI spans. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10304 a0bf4364-ded3-4de4-8d8a-66a801d63aff
-rw-r--r--drivers/dahdi/dahdi-base.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c
index 9841cd7..153ae87 100644
--- a/drivers/dahdi/dahdi-base.c
+++ b/drivers/dahdi/dahdi-base.c
@@ -3741,10 +3741,11 @@ static void __dahdi_find_master_span(void)
spin_lock_irqsave(&chan_lock, flags);
old_master = master;
list_for_each_entry(s, &span_list, spans_node) {
- if (s->alarms)
+ if (s->alarms && old_master)
continue;
if (dahdi_is_digital_span(s) &&
- !test_bit(DAHDI_FLAGBIT_RUNNING, &s->flags))
+ !test_bit(DAHDI_FLAGBIT_RUNNING, &s->flags) &&
+ old_master)
continue;
if (!can_provide_timing(s))
continue;