summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordhill <dhill@openbsd.org>2010-05-07 11:16:04 +0000
committerdhill <dhill@openbsd.org>2010-05-07 11:16:04 +0000
commit51b219034d0a1a04ef71f6ccf9a064e7272d9e4a (patch)
tree7cb3561ac50c47f5eb7c00ab0385093cecc294e3
parentremove ``abspos'' counters, from the pre-libsndio era. Since play and (diff)
downloadwireguard-openbsd-51b219034d0a1a04ef71f6ccf9a064e7272d9e4a.tar.xz
wireguard-openbsd-51b219034d0a1a04ef71f6ccf9a064e7272d9e4a.zip
Remember to restore the spl. Found out the hard way by me.
ok @damien
-rw-r--r--sys/dev/pci/if_iwn.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/pci/if_iwn.c b/sys/dev/pci/if_iwn.c
index cc5a31635e1..04dd6e370af 100644
--- a/sys/dev/pci/if_iwn.c
+++ b/sys/dev/pci/if_iwn.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_iwn.c,v 1.94 2010/05/05 19:47:43 damien Exp $ */
+/* $OpenBSD: if_iwn.c,v 1.95 2010/05/07 11:16:04 dhill Exp $ */
/*-
* Copyright (c) 2007-2010 Damien Bergamini <damien.bergamini@free.fr>
@@ -3072,8 +3072,10 @@ iwn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
* Prevent processes from entering this function while another
* process is tsleep'ing in it.
*/
- if (sc->sc_flags & IWN_FLAG_BUSY)
+ if (sc->sc_flags & IWN_FLAG_BUSY) {
+ splx(s);
return EBUSY;
+ }
sc->sc_flags |= IWN_FLAG_BUSY;
switch (cmd) {