summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2009-10-31 06:40:14 +0000
committerderaadt <deraadt@openbsd.org>2009-10-31 06:40:14 +0000
commitade004edddcdab33faee7c7b5833d2bf917e71c0 (patch)
treeceb3b05d41e8166040fd547fb2bc9003e1c8d18b /sys/dev/usb
parentIf the nmea(4) or endrun(4) timing disciplines are selected ignore status (diff)
downloadwireguard-openbsd-ade004edddcdab33faee7c7b5833d2bf917e71c0.tar.xz
wireguard-openbsd-ade004edddcdab33faee7c7b5833d2bf917e71c0.zip
Add missing KNOTE() calls after selwakeup(), until we decide if the KNOTE()
calls can go directly into selwakeup() safely long discussion with nicm, murmers of consent from tedu and miod, noone else seems to care of kqueue is busted as long as it makes their sockets move data fast... pretty sad.
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/ucom.c3
-rw-r--r--sys/dev/usb/ugen.c4
-rw-r--r--sys/dev/usb/uhid.c3
-rw-r--r--sys/dev/usb/usb.c3
4 files changed, 9 insertions, 4 deletions
diff --git a/sys/dev/usb/ucom.c b/sys/dev/usb/ucom.c
index 1de3fca03ec..a0e1b28c731 100644
--- a/sys/dev/usb/ucom.c
+++ b/sys/dev/usb/ucom.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ucom.c,v 1.43 2009/10/13 19:33:17 pirofti Exp $ */
+/* $OpenBSD: ucom.c,v 1.44 2009/10/31 06:40:17 deraadt Exp $ */
/* $NetBSD: ucom.c,v 1.49 2003/01/01 00:10:25 thorpej Exp $ */
/*
@@ -949,6 +949,7 @@ ucomstart(struct tty *tp)
wakeup(&tp->t_outq);
}
selwakeup(&tp->t_wsel);
+ KNOTE(&tp->t_wsel.si_note, 0);
if (tp->t_outq.c_cc == 0)
goto out;
}
diff --git a/sys/dev/usb/ugen.c b/sys/dev/usb/ugen.c
index c4998f7e2fd..c90c58dcc5a 100644
--- a/sys/dev/usb/ugen.c
+++ b/sys/dev/usb/ugen.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ugen.c,v 1.59 2009/10/13 19:33:17 pirofti Exp $ */
+/* $OpenBSD: ugen.c,v 1.60 2009/10/31 06:40:17 deraadt Exp $ */
/* $NetBSD: ugen.c,v 1.63 2002/11/26 18:49:48 christos Exp $ */
/* $FreeBSD: src/sys/dev/usb/ugen.c,v 1.26 1999/11/17 22:33:41 n_hibma Exp $ */
@@ -822,6 +822,7 @@ ugenintr(usbd_xfer_handle xfer, usbd_private_handle addr, usbd_status status)
wakeup(sce);
}
selwakeup(&sce->rsel);
+ KNOTE(&sce->rsel.si_note, 0);
}
void
@@ -881,6 +882,7 @@ ugen_isoc_rintr(usbd_xfer_handle xfer, usbd_private_handle addr,
wakeup(sce);
}
selwakeup(&sce->rsel);
+ KNOTE(&sce->rsel.si_note, 0);
}
usbd_status
diff --git a/sys/dev/usb/uhid.c b/sys/dev/usb/uhid.c
index f9af66a7437..76e0dda1246 100644
--- a/sys/dev/usb/uhid.c
+++ b/sys/dev/usb/uhid.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uhid.c,v 1.44 2009/10/13 19:33:19 pirofti Exp $ */
+/* $OpenBSD: uhid.c,v 1.45 2009/10/31 06:40:17 deraadt Exp $ */
/* $NetBSD: uhid.c,v 1.57 2003/03/11 16:44:00 augustss Exp $ */
/*
@@ -234,6 +234,7 @@ uhid_intr(struct uhidev *addr, void *data, u_int len)
wakeup(&sc->sc_q);
}
selwakeup(&sc->sc_rsel);
+ KNOTE(&sc->sc_rsel.si_note, 0);
if (sc->sc_async != NULL) {
DPRINTFN(3, ("uhid_intr: sending SIGIO %p\n", sc->sc_async));
psignal(sc->sc_async, SIGIO);
diff --git a/sys/dev/usb/usb.c b/sys/dev/usb/usb.c
index d64559e56be..222aa200cd5 100644
--- a/sys/dev/usb/usb.c
+++ b/sys/dev/usb/usb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: usb.c,v 1.59 2009/10/13 19:33:19 pirofti Exp $ */
+/* $OpenBSD: usb.c,v 1.60 2009/10/31 06:40:17 deraadt Exp $ */
/* $NetBSD: usb.c,v 1.77 2003/01/01 00:10:26 thorpej Exp $ */
/*
@@ -770,6 +770,7 @@ usb_add_event(int type, struct usb_event *uep)
SIMPLEQ_INSERT_TAIL(&usb_events, ueq, next);
wakeup(&usb_events);
selwakeup(&usb_selevent);
+ KNOTE(&usb_selevent.si_note, 0);
if (usb_async_proc != NULL)
psignal(usb_async_proc, SIGIO);
splx(s);