From ab9bca19b89222c64ee59d99f3fe4419f8ba0a3d Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Sun, 28 Dec 1997 05:45:07 +0000 Subject: [PATCH] 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 --- sys/dev/rp/rp.c | 15 --------------- sys/i386/isa/rp.c | 15 --------------- 2 files changed, 30 deletions(-) diff --git a/sys/dev/rp/rp.c b/sys/dev/rp/rp.c index 285c5f13868..9a578bd1a32 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 285c5f13868..9a578bd1a32 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;