summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wcte12xp/base.c
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-06-02 20:02:03 +0000
committerShaun Ruffell <sruffell@digium.com>2011-06-02 20:02:03 +0000
commitae1d7198b2b6e9fe3095b181d23c6cd6afc3877e (patch)
tree8b2808a3b7730848ce79fd3a95592317e52ce721 /drivers/dahdi/wcte12xp/base.c
parent490a1cba75f3dc714eff05471e4867c76ce26493 (diff)
wcte12xp: Move the VPMADT032 test/configuration to module load time.
The firmware load of the VPMADT032 was moved to startspan because a quad-span card in the same system would would lock interrupts for several seconds to load VPMOCT064/128 firmware. Now that the wct4xxp driver no longer locks interrupts while loading its VPM module this driver can move the VPMADT032 check/load back to module load time. This is also required so that the presence of a hardware echo canceler is marked on the span before it is registered with dahdi-base.c. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9946 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wcte12xp/base.c')
-rw-r--r--drivers/dahdi/wcte12xp/base.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c
index ea9fd29..20a1f82 100644
--- a/drivers/dahdi/wcte12xp/base.c
+++ b/drivers/dahdi/wcte12xp/base.c
@@ -72,7 +72,6 @@ static int vpmnlpmaxsupp = DEFAULT_NLPMAXSUPP;
static void echocan_free(struct dahdi_chan *chan, struct dahdi_echocan_state *ec);
static int t1xxp_clear_maint(struct dahdi_span *span);
-static int check_and_load_vpm(struct t1 *wc);
static const struct dahdi_echocan_features vpm150m_ec_features = {
.NLP_automatic = 1,
@@ -935,7 +934,6 @@ static int t1xxp_startup(struct file *file, struct dahdi_span *span)
unsigned int i;
#endif
- check_and_load_vpm(wc);
set_span_devicetype(wc);
#ifndef CONFIG_VOICEBUS_ECREFERENCE
@@ -1605,6 +1603,9 @@ static int t1_software_init(struct t1 *wc)
wc->chans[x]->pvt = wc;
wc->chans[x]->chanpos = x + 1;
}
+
+ check_and_load_vpm(wc);
+
wc->span.ops = &t1_span_ops;
if (dahdi_register(&wc->span, 0)) {
t1_info(wc, "Unable to register span with DAHDI\n");