>
>
> >
> >
> > > > Index: usbdi_util.c
> > > > ===================================================================
> > > > RCS file: /cvs/src/sys/dev/usb/usbdi_util.c,v
> > > > retrieving revision 1.25
> > > > diff -u -p usbdi_util.c
> > > > --- usbdi_util.c 26 Jun 2008 05:42:19 -0000 1.25
> > > > +++ usbdi_util.c 8 Dec 2010 04:58:49 -0000
> > > > @@ -426,7 +426,7 @@ usbd_bulk_transfer(usbd_xfer_handle xfer, usbd_pipe_ha
> > > > u_int16_t flags, u_int32_t timeout, void *buf, u_int32_t *size, char *lbl)
> > > > {
> > > > usbd_status err;
> > > > - int s, error;
> > > > + int s, error, pri;
> > > >
> > > > usbd_setup_xfer(xfer, pipe, 0, buf, *size, flags, timeout,
> > > > usbd_bulk_transfer_cb);
> > > > @@ -437,7 +437,8 @@ usbd_bulk_transfer(usbd_xfer_handle xfer, usbd_pipe_ha
> > > > splx(s);
> > > > return (err);
> > > > }
> > > > - error = tsleep((caddr_t)xfer, PZERO | PCATCH, lbl, 0);
> > > > + pri = timeout == USBD_NO_TIMEOUT ? (PZERO | PCATCH) : PWAIT;
> > > > + error = tsleep((caddr_t)xfer, pri, lbl, 0);
> > > > splx(s);
> > > > if (error) {
> > > > DPRINTF(("usbd_bulk_transfer: tsleep=%d\n", error));
> > > > @@ -467,7 +468,7 @@ usbd_intr_transfer(usbd_xfer_handle xfer, usbd_pipe_ha
> > > > u_int16_t flags, u_int32_t timeout, void *buf, u_int32_t *size, char *lbl)
> > > > {
> > > > usbd_status err;
> > > > - int s, error;
> > > > + int s, error, pri;
> > > >
> > > > usbd_setup_xfer(xfer, pipe, 0, buf, *size, flags, timeout,
> > > > usbd_intr_transfer_cb);
> > > > @@ -478,7 +479,8 @@ usbd_intr_transfer(usbd_xfer_handle xfer, usbd_pipe_ha
> > > > splx(s);
> > > > return (err);
> > > > }
> > > > - error = tsleep(xfer, PZERO | PCATCH, lbl, 0);
> > > > + pri = timeout == USBD_NO_TIMEOUT ? (PZERO | PCATCH) : PWAIT;
> > > > + error = tsleep(xfer, pri, lbl, 0);
> > > > splx(s);
> > > > if (error) {
> > > > DPRINTF(("usbd_intr_transfer: tsleep=%d\n", error));
> >
> > --
> >
jakemsr@sdf.lonestar.org
> > SDF Public Access UNIX System -
http://sdf.lonestar.org
>
> --
>
jakemsr@sdf.lonestar.org
> SDF Public Access UNIX System -
http://sdf.lonestar.org