PERFORCE change 164624 for review
Sylvestre Gallon
syl at FreeBSD.org
Wed Jun 17 20:44:34 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=164624
Change 164624 by syl at syl_atuin on 2009/06/17 20:43:34
Get closer from first control transfer :
- Add more transfer debug.
- only LIBUSB20_TRANSFER_ERROR equals to LIBUSB_TRANSFER_ERROR.
- make test1 output sexier.
Affected files ...
.. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#3 edit
.. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#39 edit
.. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#14 edit
Differences ...
==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#3 (text+ko) ====
@@ -15,7 +15,7 @@
uint8_t data[2] = {0,0};
printf("This program will try to issue a GET_STATUS"
- "on the PID_TEST VID_TEST device control endpoint");
+ " request on the PID_TEST VID_TEST device control endpoint\n");
if (libusb_init(&ctx) != 0) {
==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#39 (text+ko) ====
@@ -851,12 +851,14 @@
usb_xfer->actual_length = 0;
switch (usb_xfer->type) {
case LIBUSB_TRANSFER_TYPE_CONTROL:
+ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE CTR");
libusb20_tr_setup_control(xfer, usb_xfer->buffer,
(void *)(((uint8_t *) usb_xfer->buffer) +
sizeof(libusb_control_setup)),
usb_xfer->timeout);
break ;
case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS:
+ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE ISO");
iso_packets = libusb20_tr_get_max_frames(xfer);
if (usb_xfer->num_iso_packets > iso_packets)
usb_xfer->num_iso_packets = iso_packets;
@@ -867,15 +869,18 @@
libusb20_tr_set_total_frames(xfer, i);
break ;
case LIBUSB_TRANSFER_TYPE_BULK:
+ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE BULK");
libusb20_tr_setup_bulk(xfer, usb_xfer->buffer,
usb_xfer->length, usb_xfer->timeout);
break ;
case LIBUSB_TRANSFER_TYPE_INTERRUPT:
+ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE INTR");
libusb20_tr_setup_intr(xfer, usb_xfer->buffer,
usb_xfer->length, usb_xfer->timeout);
break ;
}
libusb20_tr_submit(xfer);
+ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMITED");
break ;
default:
usb_xfer->actual_length = 0;
@@ -908,8 +913,12 @@
dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR TIMEOUT");
xfer->status = LIBUSB_TRANSFER_TIMED_OUT;
break ;
+ case LIBUSB20_TRANSFER_ERROR:
+ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "ERROR");
+ xfer->status = LIBUSB_TRANSFER_ERROR;
+ break ;
default:
- xfer->status = LIBUSB_TRANSFER_ERROR;
+ printf("other status : %i\n", status);
}
pthread_mutex_unlock(&libusb20_lock);
==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#14 (text+ko) ====
@@ -189,6 +189,7 @@
}
pthread_mutex_lock(&libusb20_lock);
+ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_PROCESS");
ret = libusb20_dev_process(devh->os_priv);
pthread_mutex_unlock(&libusb20_lock);
More information about the p4-projects
mailing list