PERFORCE change 132920 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Wed Jan 9 13:58:06 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=132920
Change 132920 by hselasky at hselasky_laptop001 on 2008/01/09 21:57:42
Follow up commit - make "bufsize", "frames" and "interval"
mode specific.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#103 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#103 (text+ko) ====
@@ -370,7 +370,6 @@
MIN_PKT = 8,
};
struct usbd_xfer *xfer = parm->curr_xfer;
- const struct usbd_config *setup = parm->curr_setup;
const struct usbd_config_sub *setup_sub = parm->curr_setup_sub;
usb_endpoint_descriptor_t *edesc;
struct usbd_std_packet_size std_size;
@@ -393,16 +392,16 @@
type = (edesc->bmAttributes & UE_XFERTYPE);
xfer->flags = setup_sub->flags;
- xfer->nframes = setup->frames;
+ xfer->nframes = setup_sub->frames;
xfer->timeout = setup_sub->timeout;
xfer->callback = setup_sub->callback;
- xfer->interval = setup->interval;
+ xfer->interval = setup_sub->interval;
xfer->endpoint = edesc->bEndpointAddress;
xfer->max_packet_size = UGETW(edesc->wMaxPacketSize);
xfer->max_packet_count = 1;
xfer->flags_int.usb_mode = parm->udev->flags.usb_mode; /* make a shadow copy */
- parm->bufsize = setup->bufsize;
+ parm->bufsize = setup_sub->bufsize;
if (parm->speed == USB_SPEED_HIGH) {
xfer->max_packet_count += (xfer->max_packet_size >> 11) & 3;
@@ -793,7 +792,8 @@
/* sanity checks */
for (setup = setup_start, n = 0;
setup != setup_end; setup++, n++) {
- if (setup->bufsize == 0xffffffff) {
+ if ((setup->mh.bufsize == 0xffffffff) ||
+ (setup->md.bufsize == 0xffffffff)) {
parm.err = USBD_ERR_BAD_BUFSIZE;
PRINTF(("invalid bufsize\n"));
}
@@ -3480,9 +3480,10 @@
.type = UE_CONTROL,
.endpoint = 0x00, /* Control endpoint */
.direction = UE_DIR_ANY,
- .bufsize = 1024, /* bytes */
+ .mh.bufsize = 1024, /* bytes */
.mh.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,},
.mh.callback = &usbd_do_request_callback,
+ .md.bufsize = 1024, /* bytes */
.md.flags = {.proxy_buffer = 1,.short_xfer_ok = 0,},
.md.callback = &usbd_handle_request_callback,
},
More information about the p4-projects
mailing list