diff options
author | Shaun Ruffell <sruffell@digium.com> | 2011-11-02 19:46:18 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2011-11-02 19:46:18 +0000 |
commit | 93226d8ca9b00d1b2e1333a649e8c4062302984f (patch) | |
tree | ad65693d6400a70df91e8e68d3258281af2e1ac5 /drivers/dahdi | |
parent | 43fb2d56a304c147d8089dbbcbf3fceaac798a8b (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
Diffstat (limited to 'drivers/dahdi')
-rw-r--r-- | drivers/dahdi/dahdi-base.c | 5 |
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; |