--- src/sys/bus/usb/usbdi_util.c 2004/03/12 03:43:06 1.7 +++ src/sys/bus/usb/usbdi_util.c 2005/06/02 20:40:40 1.8 @@ -52,6 +52,7 @@ #elif defined(__FreeBSD__) || defined(__DragonFly__) #include #endif +#include #include "usb.h" #include "usbhid.h" @@ -420,19 +421,19 @@ usbd_bulk_transfer(usbd_xfer_handle xfer u_int32_t *size, char *lbl) { usbd_status err; - int s, error; + int error; usbd_setup_xfer(xfer, pipe, 0, buf, *size, flags, timeout, usbd_bulk_transfer_cb); DPRINTFN(1, ("usbd_bulk_transfer: start transfer %d bytes\n", *size)); - s = splusb(); /* don't want callback until tsleep() */ + crit_enter(); err = usbd_transfer(xfer); if (err != USBD_IN_PROGRESS) { - splx(s); + crit_exit(); return (err); } error = tsleep((caddr_t)xfer, PCATCH, lbl, 0); - splx(s); + crit_exit(); if (error) { DPRINTF(("usbd_bulk_transfer: tsleep=%d\n", error)); usbd_abort_pipe(pipe); @@ -462,19 +463,19 @@ usbd_intr_transfer(usbd_xfer_handle xfer u_int32_t *size, char *lbl) { usbd_status err; - int s, error; + int error; usbd_setup_xfer(xfer, pipe, 0, buf, *size, flags, timeout, usbd_intr_transfer_cb); DPRINTFN(1, ("usbd_intr_transfer: start transfer %d bytes\n", *size)); - s = splusb(); /* don't want callback until tsleep() */ + crit_enter(); /* don't want callback until tsleep() */ err = usbd_transfer(xfer); if (err != USBD_IN_PROGRESS) { - splx(s); + crit_exit(); return (err); } error = tsleep(xfer, PCATCH, lbl, 0); - splx(s); + crit_exit(); if (error) { DPRINTF(("usbd_intr_transfer: tsleep=%d\n", error)); usbd_abort_pipe(pipe);