summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wct4xxp/base.c
diff options
context:
space:
mode:
authorRuss Meyerriecks <rmeyerreicks@digium.com>2010-03-08 23:22:54 +0000
committerRuss Meyerriecks <rmeyerreicks@digium.com>2010-03-08 23:22:54 +0000
commit59fce3f780a759de7286ec399d4c1d75143f7f33 (patch)
tree07cfacd3224e4a476e0eacc70afaf5b32aec5ece /drivers/dahdi/wct4xxp/base.c
parentc2715f7534f6880fb371a284c0a30fcd9e1c7bac (diff)
wct4xxp, wcte12xp: Fixed broken E1 and unsupported function bugs
* Fixed the bug where the card could not be brought out of local loopback in E1 mode. * Fixed a bunch of issues where the drivers didn't report unsupported maintenance functions correctly. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8291 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wct4xxp/base.c')
-rw-r--r--drivers/dahdi/wct4xxp/base.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/dahdi/wct4xxp/base.c b/drivers/dahdi/wct4xxp/base.c
index 2109b34..33ce3f5 100644
--- a/drivers/dahdi/wct4xxp/base.c
+++ b/drivers/dahdi/wct4xxp/base.c
@@ -1437,6 +1437,7 @@ static int t4_maint(struct dahdi_span *span, int cmd)
switch(cmd) {
case DAHDI_MAINT_NONE:
dev_info(&wc->dev->dev, "Clearing all maint modes\n");
+ t4_clear_maint(span);
break;
case DAHDI_MAINT_LOCALLOOP:
dev_info(&wc->dev->dev,
@@ -1451,11 +1452,11 @@ static int t4_maint(struct dahdi_span *span, int cmd)
case DAHDI_MAINT_LOOPSTOP:
dev_info(&wc->dev->dev,
"Only local loop supported in E1 mode\n");
- break;
+ return -ENOSYS;
default:
dev_info(&wc->dev->dev,
"Unknown E1 maint command: %d\n", cmd);
- break;
+ return -ENOSYS;
}
} else {
switch(cmd) {
@@ -1535,7 +1536,7 @@ static int t4_maint(struct dahdi_span *span, int cmd)
reg &= ~FLLB;
t4_framer_out(wc, span->offset, LCR1_T, reg);
#endif
- break;
+ return -ENOSYS;
case DAHDI_RESET_COUNTERS:
t4_reset_counters(span);
break;