Index: third_party/libusb/src/libusb/os/darwin_usb.c |
diff --git a/third_party/libusb/src/libusb/os/darwin_usb.c b/third_party/libusb/src/libusb/os/darwin_usb.c |
index a24558cb593b4ecdca032a45ddc8fcba7b0faabd..3f315e84be6e16a4c00c4c2f10fd1f27a8f4a13c 100644 |
--- a/third_party/libusb/src/libusb/os/darwin_usb.c |
+++ b/third_party/libusb/src/libusb/os/darwin_usb.c |
@@ -1448,8 +1448,14 @@ static int submit_bulk_transfer(struct usbi_transfer *itransfer) { |
cInterface = &priv->interfaces[iface]; |
- (*(cInterface->interface))->GetPipeProperties (cInterface->interface, pipeRef, &direction, &number, |
- &transferType, &maxPacketSize, &interval); |
+ ret = (*(cInterface->interface))->GetPipeProperties (cInterface->interface, pipeRef, &direction, &number, |
meacer
2013/08/23 16:57:27
GetPipeProperties are called twice more in this fi
Bei Zhang
2013/08/23 17:07:28
Other calls in this file doesn't seem to cause any
meacer
2013/08/23 17:10:04
Sounds good, thanks Bei.
|
+ &transferType, &maxPacketSize, &interval); |
+ |
+ if (ret) { |
+ usbi_err (TRANSFER_CTX (transfer), "bulk transfer failed (dir = %s): %s (code = 0x%08x)", IS_XFERIN(transfer) ? "In" : "Out", |
+ darwin_error_str(ret), ret); |
+ return darwin_to_libusb (ret); |
+ } |
if (0 != (transfer->length % maxPacketSize)) { |
/* do not need a zero packet */ |