MTP host: Use usb_device_bulk_transfer for synchronous transfers
Change-Id: Icf42ea0e5a848cee1565da49713ee9ad0db9f1a6
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/media/mtp/MtpPacket.cpp b/media/mtp/MtpPacket.cpp
index d3f2cb4..baf99e5 100644
--- a/media/mtp/MtpPacket.cpp
+++ b/media/mtp/MtpPacket.cpp
@@ -153,12 +153,13 @@
#ifdef MTP_HOST
int MtpPacket::transfer(struct usb_request* request) {
- if (usb_request_queue(request)) {
- LOGE("usb_endpoint_queue failed, errno: %d", errno);
- return -1;
- }
- request = usb_request_wait(request->dev);
- return (request ? request->actual_length : -1);
+ int result = usb_device_bulk_transfer(request->dev,
+ request->endpoint,
+ request->buffer,
+ request->buffer_length,
+ 0);
+ request->actual_length = result;
+ return result;
}
#endif