summaryrefslogtreecommitdiff
path: root/drivers/dahdi
diff options
context:
space:
mode:
authorRuss Meyerriecks <rmeyerreicks@digium.com>2010-07-26 20:14:49 +0000
committerRuss Meyerriecks <rmeyerreicks@digium.com>2010-07-26 20:14:49 +0000
commit8ae264c892f20ad46da443f1ba5ff0625dd1fb39 (patch)
tree57511d1a7e4cb9acfa27355c40320ff1297f7c9e /drivers/dahdi
parentde893b61bceb214534db3425f6c163c2f348469b (diff)
Added hardware transformer check
QuadFalc has the ability to test if the transformer is performing correctly. If the components between the framer and the physical span interface are shorted out or opened for any reason we can now detect it. Possible causes for tripping this error could be a broken transformer from an electrical spike or a board manufacturing error. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8999 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi')
-rw-r--r--drivers/dahdi/dahdi-base.c10
-rw-r--r--drivers/dahdi/wct4xxp/base.c11
2 files changed, 7 insertions, 14 deletions
diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c
index a54f3b0..a500329 100644
--- a/drivers/dahdi/dahdi-base.c
+++ b/drivers/dahdi/dahdi-base.c
@@ -3524,16 +3524,6 @@ void dahdi_alarm_notify(struct dahdi_span *span)
"Span %d: Loss of Multi-Frame "\
"Alignment\n", span->spanno);
}
- if (span->alarms & DAHDI_ALARM_XLS) {
- module_printk(KERN_NOTICE,
- "Span %d: Transmit Line Short\n",
- span->spanno);
- }
- if (span->alarms & DAHDI_ALARM_XLO) {
- module_printk(KERN_NOTICE,
- "Span %d: Transmit Line Open\n",
- span->spanno);
- }
}
}
}
diff --git a/drivers/dahdi/wct4xxp/base.c b/drivers/dahdi/wct4xxp/base.c
index 9b658a7..9946b58 100644
--- a/drivers/dahdi/wct4xxp/base.c
+++ b/drivers/dahdi/wct4xxp/base.c
@@ -3007,10 +3007,13 @@ static void t4_check_alarms(struct t4 *wc, int span)
alarms |= DAHDI_ALARM_LFA;
if (c & FRS0_LMFA)
alarms |= DAHDI_ALARM_LMFA;
- if (d & FRS1_XLS)
- alarms |= DAHDI_ALARM_XLS;
- if (d & FRS1_XLO)
- alarms |= DAHDI_ALARM_XLO;
+ }
+
+ /* Check to ensure the transformer isn't busted */
+ if (unlikely((d & FRS1_XLO) || (d & FRS1_XLS))) {
+ dev_info(&wc->dev->dev,
+ "Detected a possible hardware malfunction"\
+ " this card may need servicing\n");
}
if (((!ts->span.alarms) && alarms) ||