summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1997-12-28 05:45:07 +0000
committerbde <bde@FreeBSD.org>1997-12-28 05:45:07 +0000
commitaee0b8bb682db4068cf9d431cd9c84aea31f492c (patch)
tree117271c9de69890e648d446af26d3b092926ba0f
parent07b5eb4e924a219ccfa0ff0002991fce09ed472a (diff)
downloadFreeBSD-src-aee0b8bb682db4068cf9d431cd9c84aea31f492c.zip
FreeBSD-src-aee0b8bb682db4068cf9d431cd9c84aea31f492c.tar.gz
Removed unnecessary (and broken) wakeup code in rpstart(). There is no
need to do it directly, since ttwwakeup() is always called just before returning from rpstart(). The brokenness was waking up the wrong address after clearing TS_SO_OLOWAT. It's not clear how processes waiting for output to drain below low water ever got woken up. Found by: when I fixed longstanding warts in output watermark handling, this was the only driver that knew too much (anything) about the watermarks
-rw-r--r--sys/dev/rp/rp.c15
-rw-r--r--sys/i386/isa/rp.c15
2 files changed, 0 insertions, 30 deletions
diff --git a/sys/dev/rp/rp.c b/sys/dev/rp/rp.c
index 285c5f1..9a578bd 100644
--- a/sys/dev/rp/rp.c
+++ b/sys/dev/rp/rp.c
@@ -1976,13 +1976,6 @@ rpstart(tp)
}
count = sGetTxCnt(cp);
- if(tp->t_outq.c_cc <= tp->t_lowat) {
- if(tp->t_state & TS_SO_OLOWAT) {
- tp->t_state &= ~TS_SO_OLOWAT;
- wakeup(TSA_CARR_ON(tp));
- }
- selwakeup(&tp->t_wsel);
- }
if(tp->t_outq.c_cc == 0) {
if((tp->t_state & TS_BUSY) && (count == 0)) {
tp->t_state &= ~TS_BUSY;
@@ -1991,14 +1984,6 @@ rpstart(tp)
splx(spl);
return;
}
-/*
- if((tp->t_state & TS_BUSY) && count == 0)
- tp->t_state &= ~TS_BUSY;
-
- if(tp->t_outq.c_cc <= tp->t_lowat)
- ttyowake(tp);
-
-*/
xmit_fifo_room = TXFIFO_SIZE - sGetTxCnt(cp);
qp = &tp->t_outq;
count = 0;
diff --git a/sys/i386/isa/rp.c b/sys/i386/isa/rp.c
index 285c5f1..9a578bd 100644
--- a/sys/i386/isa/rp.c
+++ b/sys/i386/isa/rp.c
@@ -1976,13 +1976,6 @@ rpstart(tp)
}
count = sGetTxCnt(cp);
- if(tp->t_outq.c_cc <= tp->t_lowat) {
- if(tp->t_state & TS_SO_OLOWAT) {
- tp->t_state &= ~TS_SO_OLOWAT;
- wakeup(TSA_CARR_ON(tp));
- }
- selwakeup(&tp->t_wsel);
- }
if(tp->t_outq.c_cc == 0) {
if((tp->t_state & TS_BUSY) && (count == 0)) {
tp->t_state &= ~TS_BUSY;
@@ -1991,14 +1984,6 @@ rpstart(tp)
splx(spl);
return;
}
-/*
- if((tp->t_state & TS_BUSY) && count == 0)
- tp->t_state &= ~TS_BUSY;
-
- if(tp->t_outq.c_cc <= tp->t_lowat)
- ttyowake(tp);
-
-*/
xmit_fifo_room = TXFIFO_SIZE - sGetTxCnt(cp);
qp = &tp->t_outq;
count = 0;
OpenPOWER on IntegriCloud