summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoe Rubinstein <nrubinstein@proformatique.com>2011-05-04 14:55:43 +0200
committerNoe Rubinstein <nrubinstein@proformatique.com>2011-05-04 14:55:43 +0200
commit5a4adf8c493e33a8f3c7362b67761438facd7280 (patch)
tree873cc74d08fb274e0777af5beba2d27eba0ef300
parent7ec39f98c1fe4586b486547d6b245e2414306f68 (diff)
Potential fix for frame spam on halt
-rw-r--r--xhfc/base.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/xhfc/base.c b/xhfc/base.c
index 4f8d881..0b70dbc 100644
--- a/xhfc/base.c
+++ b/xhfc/base.c
@@ -541,9 +541,10 @@ static int hdlc_tx_frame(struct xhfc_span *xhfc_span)
printk(KERN_INFO DRIVER_NAME
": hdlc_tx_frame(span %d): DAHDI gave %d "
- "bytes for FIFO %d (res = %d): %s\n",
- dahdi_span->spanno,
- size, fifo, res, debugbuf);
+ "bytes for FIFO %d (%d frames left; res = %d): "
+ "%s\n", dahdi_span->spanno, size, fifo,
+ atomic_read(&xhfc_span->hdlc_pending),
+ res, debugbuf);
if (size && res != 0)
printk(KERN_INFO DRIVER_NAME
@@ -673,7 +674,8 @@ static void xhfc_rxtx(void *data)
if ((s->span.flags & DAHDI_FLAG_RUNNING) && s->sigchan) { // XXX s->sigchan?
dahdi_receive(&s->span);
- dahdi_transmit(&s->span);
+ if(s->span.alarms == DAHDI_ALARM_NONE)
+ dahdi_transmit(&s->span);
dahdi_ec_span(&s->span);
}