diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2009-09-05 10:25:56 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2009-09-05 10:25:56 +0000 |
commit | 3827cf56b00ca00fc161a595b725a2456190dd23 (patch) | |
tree | b06580f42ed7bf825454136afe279a838ceb67f0 /sys/dev/usb | |
parent | e49b2a758e03e2e237eb4ca367e25b9e0859f454 (diff) |
Make sure ehci_open() invokes ehci_device_setintr() at splusb; found with
splassert.
Diffstat (limited to 'sys/dev/usb')
-rw-r--r-- | sys/dev/usb/ehci.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/usb/ehci.c b/sys/dev/usb/ehci.c index 974083b0de7..d4811bfb16d 100644 --- a/sys/dev/usb/ehci.c +++ b/sys/dev/usb/ehci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ehci.c,v 1.101 2009/07/24 08:15:38 blambert Exp $ */ +/* $OpenBSD: ehci.c,v 1.102 2009/09/05 10:25:55 miod Exp $ */ /* $NetBSD: ehci.c,v 1.66 2004/06/30 03:11:56 mycroft Exp $ */ /* @@ -1592,7 +1592,10 @@ ehci_open(usbd_pipe_handle pipe) ival = pipe->interval; if (ival == USBD_DEFAULT_INTERVAL) ival = ed->bInterval; - return (ehci_device_setintr(sc, sqh, ival)); + s = splusb(); + err = ehci_device_setintr(sc, sqh, ival); + splx(s); + return (err); case UE_ISOCHRONOUS: pipe->methods = &ehci_device_isoc_methods; if (ed->bInterval == 0 || ed->bInterval > 16) { |