summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-11-02 20:01:58 +0000
committerShaun Ruffell <sruffell@digium.com>2011-11-02 20:01:58 +0000
commit7f94406b050392318006c2669c79d3debf08be7f (patch)
treeb3ea8565d28854eea6780b97832e53df7799d827
parent1e7b5111c913ab559ed346bfc4a311e9cbca0240 (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> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10304 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10305 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 f01074e..958ee39 100644
--- a/drivers/dahdi/dahdi-base.c
+++ b/drivers/dahdi/dahdi-base.c
@@ -3683,10 +3683,11 @@ static void __dahdi_find_master_span(void)
spin_lock_irqsave(&chan_lock, flags);
old_master = master;
list_for_each_entry(s, &span_list, node) {
- if (s->alarms)
+ if (s->alarms && old_master)
continue;
if (!is_analog_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;