Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d547195d authored by Tomasz Mikolajewski's avatar Tomasz Mikolajewski Committed by Android (Google) Code Review
Browse files

Merge "Fix sending object info in MTP stack."

parents ce4b61d3 64c948bf
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -525,16 +525,9 @@ int MtpDataPacket::writeDataHeader(struct usb_request *request, uint32_t length)
int MtpDataPacket::write(struct usb_request *request) {
    MtpPacket::putUInt32(MTP_CONTAINER_LENGTH_OFFSET, mPacketSize);
    MtpPacket::putUInt16(MTP_CONTAINER_TYPE_OFFSET, MTP_CONTAINER_TYPE_DATA);

    // send header separately from data
    request->buffer = mBuffer;
    request->buffer_length = MTP_CONTAINER_HEADER_SIZE;
    request->buffer_length = mPacketSize;
    int ret = transfer(request);
    if (ret == MTP_CONTAINER_HEADER_SIZE) {
        request->buffer = mBuffer + MTP_CONTAINER_HEADER_SIZE;
        request->buffer_length = mPacketSize - MTP_CONTAINER_HEADER_SIZE;
        ret = transfer(request);
    }
    return (ret < 0 ? ret : 0);
}

+3 −2
Original line number Diff line number Diff line
@@ -430,8 +430,9 @@ MtpObjectHandle MtpDevice::sendObjectInfo(MtpObjectInfo* info) {
        parent = MTP_PARENT_ROOT;

    mRequest.setParameter(1, info->mStorageID);
    mRequest.setParameter(2, info->mParent);
    mRequest.setParameter(2, parent);

    mData.reset();
    mData.putUInt32(info->mStorageID);
    mData.putUInt16(info->mFormat);
    mData.putUInt16(info->mProtectionStatus);
@@ -807,7 +808,7 @@ bool MtpDevice::sendData() {
    mData.setTransactionID(mRequest.getTransactionID());
    int ret = mData.write(mRequestOut);
    mData.dump();
    return (ret > 0);
    return (ret >= 0);
}

bool MtpDevice::readData() {