mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
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
This commit is contained in:
parent
a4c0a67553
commit
ab9bca19b8
2 changed files with 0 additions and 30 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue