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

Commit 1107f93b authored by Febin Thattil's avatar Febin Thattil Committed by Android (Google) Code Review
Browse files

Merge "Revert "usb: Use Get/SetByteArrayRegion in bulkTransfer"" into main

parents b0f4faad 621261df
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -190,21 +190,17 @@ android_hardware_UsbDeviceConnection_bulk_request(JNIEnv *env, jobject thiz,
        return -1;
    }

    bool is_dir_in = (endpoint & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN;
    jbyte *bufferBytes = (jbyte *)malloc(length);

    if (!is_dir_in && buffer) {
        env->GetByteArrayRegion(buffer, start, length, bufferBytes);
    jbyte* bufferBytes = NULL;
    if (buffer) {
        bufferBytes = (jbyte*)env->GetPrimitiveArrayCritical(buffer, NULL);
    }

    jint result = usb_device_bulk_transfer(device, endpoint, bufferBytes, length, timeout);
    jint result = usb_device_bulk_transfer(device, endpoint, bufferBytes + start, length, timeout);

    if (is_dir_in && buffer) {
        env->SetByteArrayRegion(buffer, start, length, bufferBytes);
    if (bufferBytes) {
        env->ReleasePrimitiveArrayCritical(buffer, bufferBytes, 0);
    }

    free(bufferBytes);

    return result;
}