diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2009-11-01 20:29:01 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2009-11-01 20:29:01 +0000 |
commit | 7b2be92a2142061407f196176d4e83e62c233158 (patch) | |
tree | 5d363529f89d57ed9365644db4bcc4d9debdf7cc | |
parent | c24179cc421a46edffa3069625dda1753dcb9d62 (diff) |
Call selwakeup()/KNOTE() even if the queue has emptied completely.
ok miod
-rw-r--r-- | sys/arch/arm/s3c2xx0/sscom.c | 6 | ||||
-rw-r--r-- | sys/arch/hp300/dev/apci.c | 6 | ||||
-rw-r--r-- | sys/arch/hp300/dev/dca.c | 6 | ||||
-rw-r--r-- | sys/dev/ic/com.c | 6 |
4 files changed, 12 insertions, 12 deletions
diff --git a/sys/arch/arm/s3c2xx0/sscom.c b/sys/arch/arm/s3c2xx0/sscom.c index f016e49a7c3..f12a54f440a 100644 --- a/sys/arch/arm/s3c2xx0/sscom.c +++ b/sys/arch/arm/s3c2xx0/sscom.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sscom.c,v 1.12 2009/10/31 06:40:16 deraadt Exp $ */ +/* $OpenBSD: sscom.c,v 1.13 2009/11/01 20:29:00 nicm Exp $ */ /* $NetBSD: sscom.c,v 1.29 2008/06/11 22:37:21 cegger Exp $ */ /* @@ -1375,10 +1375,10 @@ sscomstart(struct tty *tp) CLR(tp->t_state, TS_ASLEEP); wakeup(&tp->t_outq); } - if (tp->t_outq.c_cc == 0) - goto out; selwakeup(&tp->t_wsel); KNOTE(&tp->t_wsel.si_note, 0); + if (tp->t_outq.c_cc == 0) + goto out; } SET(tp->t_state, TS_BUSY); diff --git a/sys/arch/hp300/dev/apci.c b/sys/arch/hp300/dev/apci.c index 3f20e998d3b..82bfe395228 100644 --- a/sys/arch/hp300/dev/apci.c +++ b/sys/arch/hp300/dev/apci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: apci.c,v 1.35 2009/10/31 12:00:05 fgsch Exp $ */ +/* $OpenBSD: apci.c,v 1.36 2009/11/01 20:29:00 nicm Exp $ */ /* $NetBSD: apci.c,v 1.9 2000/11/02 00:35:05 eeh Exp $ */ /*- @@ -767,10 +767,10 @@ apcistart(tp) tp->t_state &= ~TS_ASLEEP; wakeup((caddr_t)&tp->t_outq); } - if (tp->t_outq.c_cc == 0) - goto out; selwakeup(&tp->t_wsel); KNOTE(&tp->t_wsel.si_note, 0); + if (tp->t_outq.c_cc == 0) + goto out; } if (apci->ap_lsr & LSR_TXRDY) { tp->t_state |= TS_BUSY; diff --git a/sys/arch/hp300/dev/dca.c b/sys/arch/hp300/dev/dca.c index 5e32b238f8d..3b9013aff8c 100644 --- a/sys/arch/hp300/dev/dca.c +++ b/sys/arch/hp300/dev/dca.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dca.c,v 1.36 2009/10/31 12:00:05 fgsch Exp $ */ +/* $OpenBSD: dca.c,v 1.37 2009/11/01 20:29:00 nicm Exp $ */ /* $NetBSD: dca.c,v 1.35 1997/05/05 20:58:18 thorpej Exp $ */ /* @@ -866,10 +866,10 @@ dcastart(tp) tp->t_state &= ~TS_ASLEEP; wakeup((caddr_t)&tp->t_outq); } - if (tp->t_outq.c_cc == 0) - goto out; selwakeup(&tp->t_wsel); KNOTE(&tp->t_wsel.si_note, 0); + if (tp->t_outq.c_cc == 0) + goto out; } if (dca->dca_lsr & LSR_TXRDY) { tp->t_state |= TS_BUSY; diff --git a/sys/dev/ic/com.c b/sys/dev/ic/com.c index 32fc4d2d8e7..f71a1c3316b 100644 --- a/sys/dev/ic/com.c +++ b/sys/dev/ic/com.c @@ -1,4 +1,4 @@ -/* $OpenBSD: com.c,v 1.134 2009/10/31 12:00:07 fgsch Exp $ */ +/* $OpenBSD: com.c,v 1.135 2009/11/01 20:29:00 nicm Exp $ */ /* $NetBSD: com.c,v 1.82.4.1 1996/06/02 09:08:00 mrg Exp $ */ /* @@ -899,10 +899,10 @@ comstart(struct tty *tp) CLR(tp->t_state, TS_ASLEEP); wakeup(&tp->t_outq); } - if (tp->t_outq.c_cc == 0) - goto stopped; selwakeup(&tp->t_wsel); KNOTE(&tp->t_wsel.si_note, 0); + if (tp->t_outq.c_cc == 0) + goto stopped; } SET(tp->t_state, TS_BUSY); |