diff options
author | kpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-12-04 18:13:04 +0000 |
---|---|---|
committer | kpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-12-04 18:13:04 +0000 |
commit | 3a685bb90b83ebf4aabf0aa0a974a2d65e38375e (patch) | |
tree | 70c16cffd1b46b0675fb00529dc1cf6cd0c09338 /wctdm.c | |
parent | c937d5f0c4cb86a63d3b79fe76ba3d60c2cd8dc4 (diff) |
the analog card drivers can now mark failed modules as 'broken', and ztscan can output that information
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@3294 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'wctdm.c')
-rw-r--r-- | wctdm.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -2061,6 +2061,7 @@ static int wctdm_initialize(struct wctdm *wc) static void wctdm_post_initialize(struct wctdm *wc) { int x; + /* Finalize signalling */ for (x = 0; x < NUM_CARDS; x++) { if (wc->cardflag & (1 << x)) { @@ -2068,6 +2069,8 @@ static void wctdm_post_initialize(struct wctdm *wc) wc->chans[x].sigcap = ZT_SIG_FXSKS | ZT_SIG_FXSLS | ZT_SIG_SF | ZT_SIG_CLEAR; else wc->chans[x].sigcap = ZT_SIG_FXOKS | ZT_SIG_FXOLS | ZT_SIG_FXOGS | ZT_SIG_SF | ZT_SIG_EM | ZT_SIG_CLEAR; + } else if (!(wc->chans[x].sigcap == ZT_SIG_BROKEN)) { + wc->chans[x].sigcap = 0; } } } @@ -2184,6 +2187,7 @@ static int wctdm_hardware_init(struct wctdm *wc) printk("Module %d: Installed -- MANUAL FXS\n",x); } else { printk("Module %d: FAILED FXS (%s)\n", x, fxshonormode ? fxo_modes[_opermode].name : "FCC"); + wc->chans[x].sigcap = ZT_SIG_BROKEN; } } else if (!(ret = wctdm_init_voicedaa(wc, x, 0, 0, sane))) { wc->cardflag |= (1 << x); |