summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wctdm24xxp
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-10-20 20:51:53 +0000
committerShaun Ruffell <sruffell@digium.com>2011-10-20 20:51:53 +0000
commit402ff4df1398dfb4accd0fa757e197296df35d6f (patch)
treec56bdbeef31e9f0e9882b483a5ad19992dbe9afa /drivers/dahdi/wctdm24xxp
parentccc215c8d2d79c305e183bdebd383f0906364ea5 (diff)
wctdm24xxp: Setup all VPMADT032 channels on hybrid cards.
r10160 "wctdm24xxp: Probe for and configure modules in parallel." did not properly setup the VPMADT032 for all ports on hybrid cards. The most immediate sympton being that spans 3 and up on a hybrid card would not come up in Asterisk even though they were out of alarm. This was because the echo canceler was blocking messages on the dchannels. This does not affect any previously released versions of DAHDI-Linux or users of the VPMOCT032. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Michael Spiceland <mspiceland@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10228 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wctdm24xxp')
-rw-r--r--drivers/dahdi/wctdm24xxp/base.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c
index 51fea10..034a908 100644
--- a/drivers/dahdi/wctdm24xxp/base.c
+++ b/drivers/dahdi/wctdm24xxp/base.c
@@ -4596,7 +4596,15 @@ static int wctdm_initialize_vpmadt032(struct wctdm *wc)
options.vpmnlptype = vpmnlptype;
options.vpmnlpthresh = vpmnlpthresh;
options.vpmnlpmaxsupp = vpmnlpmaxsupp;
- options.channels = wc->desc->ports;
+ if (is_hx8(wc)) {
+ /* Hybrid cards potentially have 3 channels of EC on their
+ * ports since they may be BRI spans. */
+ options.channels = 3 * wc->desc->ports;
+ } else {
+ options.channels = wc->desc->ports;
+ }
+
+ BUG_ON(options.channels > 24);
wc->vpmadt032 = vpmadt032_alloc(&options);
if (!wc->vpmadt032)