summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2011-03-14 09:44:15 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-03-14 09:44:15 -0700
commit2d24213fca55fece8ce4a69a53abcd45983b0443 (patch)
tree530924a073f05a85eb34c10005c5b525f36658fd /media
parentc761a80df372a7f7e70ceeb2902089c53ff980f2 (diff)
parent3ec9d06f070db3a8899ad235736abd0ffaf6f578 (diff)
downloadframeworks_base-2d24213fca55fece8ce4a69a53abcd45983b0443.zip
frameworks_base-2d24213fca55fece8ce4a69a53abcd45983b0443.tar.gz
frameworks_base-2d24213fca55fece8ce4a69a53abcd45983b0443.tar.bz2
am 3ec9d06f: Merge "MtpDevice: Handle zero length packets in readResponse()" into honeycomb-mr1
* commit '3ec9d06f070db3a8899ad235736abd0ffaf6f578': MtpDevice: Handle zero length packets in readResponse()
Diffstat (limited to 'media')
-rw-r--r--media/mtp/MtpDevice.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/media/mtp/MtpDevice.cpp b/media/mtp/MtpDevice.cpp
index 4ea8849..2e86159 100644
--- a/media/mtp/MtpDevice.cpp
+++ b/media/mtp/MtpDevice.cpp
@@ -819,6 +819,10 @@ MtpResponseCode MtpDevice::readResponse() {
return mResponse.getResponseCode();
}
int ret = mResponse.read(mRequestIn1);
+ // handle zero length packets, which might occur if the data transfer
+ // ends on a packet boundary
+ if (ret == 0)
+ ret = mResponse.read(mRequestIn1);
if (ret >= MTP_CONTAINER_HEADER_SIZE) {
mResponse.dump();
return mResponse.getResponseCode();