MTP: Include size of 12 byte header in packet size for GetObject data packet

Fixes file transfer from device to host with libmtp.

Change-Id: Ifb304c1f106e94b2710ee5c11816b83cf5f25478
Signed-off-by: Mike Lockwood <lockwood@google.com>
diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp
index 84a3e2c..f74f395 100644
--- a/media/mtp/MtpServer.cpp
+++ b/media/mtp/MtpServer.cpp
@@ -163,6 +163,7 @@
                 mData.setOperationCode(operation);
                 mData.setTransactionID(transaction);
                 LOGV("sending data:");
+                mData.dump();
                 ret = mData.write(fd);
                 if (ret < 0) {
                     LOGE("request write returned %d, errno: %d", ret, errno);
@@ -177,6 +178,7 @@
             mResponse.setTransactionID(transaction);
             LOGV("sending response %04X", mResponse.getResponseCode());
             ret = mResponse.write(fd);
+            mResponse.dump();
             if (ret < 0) {
                 LOGE("request write returned %d, errno: %d", ret, errno);
                 if (errno == ECANCELED) {
@@ -546,7 +548,7 @@
     // send data header
     mData.setOperationCode(mRequest.getOperationCode());
     mData.setTransactionID(mRequest.getTransactionID());
-    mData.writeDataHeader(mFD, fileLength);
+    mData.writeDataHeader(mFD, fileLength + MTP_CONTAINER_HEADER_SIZE);
 
     // then transfer the file
     int ret = ioctl(mFD, MTP_SEND_FILE, (unsigned long)&mfr);