PERFORCE change 144368 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Mon Jun 30 15:42:13 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=144368
Change 144368 by hselasky at hselasky_laptop001 on 2008/06/30 15:42:04
Some minor fixes and corrections.
- usb2_generic.c : Exit from clear stall callback if not clearing stall.
- Compile fixes.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#3 edit
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_handle_request.c#3 edit
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#4 edit
.. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#3 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#3 (text+ko) ====
@@ -442,6 +442,10 @@
struct usb2_fifo *f = xfer->priv_sc;
struct usb2_xfer *xfer_other = f->xfer[0];
+ if (f->flag_stall == 0) {
+ /* nothing to do */
+ return;
+ }
if (usb2_clear_stall_callback(xfer, xfer_other)) {
DPRINTF(4, "f=%p: stall cleared\n", f);
f->flag_stall = 0;
@@ -456,6 +460,10 @@
struct usb2_fifo *f = xfer->priv_sc;
struct usb2_xfer *xfer_other = f->xfer[0];
+ if (f->flag_stall == 0) {
+ /* nothing to do */
+ return;
+ }
if (usb2_clear_stall_callback(xfer, xfer_other)) {
DPRINTF(4, "f=%p: stall cleared\n", f);
f->flag_stall = 0;
==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_handle_request.c#3 (text+ko) ====
@@ -82,7 +82,7 @@
if (err == USB_ERR_BAD_CONTEXT) {
/* we need to re-setup the control transfer */
- usb2_needs_explore(xfer->udev->bus);
+ usb2_needs_explore(xfer->udev->bus, 0);
break;
}
/*
==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#4 (text+ko) ====
@@ -1879,7 +1879,7 @@
* if this is the last USB transfer on the PIPE queue we are no
* longer synced:
*/
- if (TAILQ_FIRST(&(xfer->pipe->pipe_q->head)) == NULL) {
+ if (TAILQ_FIRST(&(xfer->pipe->pipe_q.head)) == NULL) {
xfer->pipe->is_synced = 0;
}
/* call the USB transfer callback */
@@ -2068,7 +2068,7 @@
* transfer. If the timeout has been deferred the callback given by
* "cb" will get called after "ms" milliseconds.
*------------------------------------------------------------------------*/
-static void
+void
usb2_transfer_timeout_ms(struct usb2_xfer *xfer,
void (*cb) (void *arg), uint32_t ms)
{
@@ -2134,7 +2134,7 @@
usb2_transfer_timeout_ms(xfer,
&usb2_dma_delay_done_cb, temp);
- return; /* wait for new callback */
+ return (1); /* wait for new callback */
}
/* check actual number of frames */
if (xfer->aframes > xfer->nframes) {
==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#3 (text+ko) ====
More information about the p4-projects
mailing list