summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wctdm24xxp
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-06-11 01:58:43 +0000
committerShaun Ruffell <sruffell@digium.com>2011-06-11 01:58:43 +0000
commit2bdc418790f82f2273df6ec4882a47204b47447a (patch)
treea4738bb2bee3ad52f824bb7a0087c154a836673d /drivers/dahdi/wctdm24xxp
parent13b7e906e7e7890d44a2056b10c332081e2dab78 (diff)
wctdm24xxp: Do not read extra register when test for FXO module fails.
In commit r9968 "wctdm24xxp: Allow more than one outstanding read at a time" I introduced a regression where the transmit FIFO on the data channel of a B400M could get locked up. The result would be constant HDLC overflows when writing to the data channel. This regression did not make it into any releases and did not exhibit itself when crossing spans on a single B400M module. This is a partial revert of commit r9968. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9977 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wctdm24xxp')
-rw-r--r--drivers/dahdi/wctdm24xxp/base.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c
index caee746..5ff0253 100644
--- a/drivers/dahdi/wctdm24xxp/base.c
+++ b/drivers/dahdi/wctdm24xxp/base.c
@@ -2233,13 +2233,14 @@ static void handle_hx8_transmit(struct voicebus *vb, struct list_head *buffers)
static int wctdm_voicedaa_insane(struct wctdm *wc, struct wctdm_module *mod)
{
- int blah[] = {2, 11};
- wctdm_getregs(wc, mod, blah, ARRAY_SIZE(blah));
- if (blah[0] != 0x3)
+ int blah;
+ blah = wctdm_getreg(wc, mod, 2);
+ if (blah != 0x3)
return -2;
+ blah = wctdm_getreg(wc, mod, 11);
if (debug & DEBUG_CARD) {
dev_info(&wc->vb.pdev->dev,
- "VoiceDAA System: %02x\n", blah[1] & 0xf);
+ "VoiceDAA System: %02x\n", blah & 0xf);
}
return 0;
}