summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wctdm24xxp
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-06-02 20:02:28 +0000
committerShaun Ruffell <sruffell@digium.com>2011-06-02 20:02:28 +0000
commitb7fc6dac6f4931514221a5ee75e5db28851d08fe (patch)
treea94bcbcda3abb709659fe9a75b6d8600978f0d33 /drivers/dahdi/wctdm24xxp
parent87c911c8248a41c5e57bd7c19dad106a1b30d531 (diff)
wcte12xp, wctdm24xxp: Separate test for VPMADT032 and initialization.
Part of increasing system startup speed. Splitting these two operations facilitate checking if there is a module present synchronously on driver load from the actual load of the firmware and configuration of the channels. This will allow the presence of the VPM module to be flagged on the span before registration, but load and configuration can happen in the background. When the modules are eventually loaded via udev, there will be enough time from the time the drivers are loaded to when dahdi_cfg will run to complete the firmware load, eliminating the need to block the driver here. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9951 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wctdm24xxp')
-rw-r--r--drivers/dahdi/wctdm24xxp/base.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c
index 03d56e2..7107808 100644
--- a/drivers/dahdi/wctdm24xxp/base.c
+++ b/drivers/dahdi/wctdm24xxp/base.c
@@ -3841,7 +3841,9 @@ static int wctdm_initialize_vpmadt032(struct wctdm *wc)
/* wc->vpmadt032->context = wc; */
/* Pull the configuration information from the span holding
* the analog channels. */
- res = vpmadt032_init(wc->vpmadt032, &wc->vb);
+ res = vpmadt032_test(wc->vpmadt032, &wc->vb);
+ if (!res)
+ res = vpmadt032_init(wc->vpmadt032);
if (res) {
vpmadt032_free(wc->vpmadt032);
wc->vpmadt032 = NULL;