Merge "Omx vts test." into oc-dev
diff --git a/automotive/evs/1.0/IEvsEnumerator.hal b/automotive/evs/1.0/IEvsEnumerator.hal
index 98d117a..e1193d0 100644
--- a/automotive/evs/1.0/IEvsEnumerator.hal
+++ b/automotive/evs/1.0/IEvsEnumerator.hal
@@ -34,11 +34,12 @@
     /**
      * Get the IEvsCamera associated with a cameraId from a CameraDesc
      *
-     * Given a camera's unique cameraId from ca CameraDesc, returns
-     * the ICamera interface associated with the specified camera.
-     * When done using the camera, the caller may release it by calling closeCamera().
-     * TODO(b/36122635) Reliance on the sp<> going out of scope is not recommended because the
-     * resources may not be released right away due to asynchronos behavior in the hardware binder.
+     * Given a camera's unique cameraId from CameraDesc, returns the
+     * IEvsCamera interface associated with the specified camera. When
+     * done using the camera, the caller may release it by calling closeCamera().
+     * Note: Reliance on the sp<> going out of scope is not recommended
+     * because the resources may not be released right away due to asynchronos
+     * behavior in the hardware binder (ref b/36122635).
      */
     openCamera(string cameraId) generates (IEvsCamera carCamera);
 
diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp
index 61be82d..06a6bd0 100644
--- a/camera/device/3.2/default/CameraDeviceSession.cpp
+++ b/camera/device/3.2/default/CameraDeviceSession.cpp
@@ -403,12 +403,14 @@
         if (result.inputBuffer.releaseFence.getNativeHandle() != nullptr) {
             native_handle_t* handle = const_cast<native_handle_t*>(
                     result.inputBuffer.releaseFence.getNativeHandle());
+            native_handle_close(handle);
             native_handle_delete(handle);
         }
         for (auto& buf : result.outputBuffers) {
             if (buf.releaseFence.getNativeHandle() != nullptr) {
                 native_handle_t* handle = const_cast<native_handle_t*>(
                         buf.releaseFence.getNativeHandle());
+                native_handle_close(handle);
                 native_handle_delete(handle);
             }
         }
@@ -586,8 +588,7 @@
 void CameraDeviceSession::ResultBatcher::invokeProcessCaptureResultCallback(
         hidl_vec<CaptureResult> &results, bool tryWriteFmq) {
     if (mProcessCaptureResultLock.tryLock() != OK) {
-        ALOGW("%s: previous call is not finished! waiting 1s...",
-                __FUNCTION__);
+        ALOGV("%s: previous call is not finished! waiting 1s...", __FUNCTION__);
         if (mProcessCaptureResultLock.timedLock(1000000000 /* 1s */) != OK) {
             ALOGE("%s: cannot acquire lock in 1s, cannot proceed",
                     __FUNCTION__);
diff --git a/current.txt b/current.txt
index e254ed9..5c9d372 100644
--- a/current.txt
+++ b/current.txt
@@ -30,7 +30,7 @@
 f2904a4c108ad1b93eb2fa4e43b82bd01ce1ff26156316e49d1d9fc80dfecaad android.hardware.automotive.evs@1.0::IEvsCamera
 94cba6ad04c83aa840de2ed52b74ba2126a26dd960225e61ac36703315279a80 android.hardware.automotive.evs@1.0::IEvsCameraStream
 5ea36fb043d9e3b413219de3dfd7b046b48af4fda39f167f3528652e986cb76d android.hardware.automotive.evs@1.0::IEvsDisplay
-4360e4396dee5a36d8543e12b1bbdeb765724dddf0dca0204ea1e9496ed8441d android.hardware.automotive.evs@1.0::IEvsEnumerator
+14ef8e993a4a7c899b19bb5e39b5b0cafd28312ea2b127e35b3be8f08e23fe8e android.hardware.automotive.evs@1.0::IEvsEnumerator
 3b17c1fdfc389e0abe626c37054954b07201127d890c2bc05d47613ec1f4de4f android.hardware.automotive.evs@1.0::types
 cde0787e4bf4b450a9ceb9011d2698c0061322eb882621e89b70594b0b7c65c5 android.hardware.automotive.vehicle@2.0::IVehicle
 80fb4156fa91ce86e49bd2cabe215078f6b69591d416a09e914532eae6712052 android.hardware.automotive.vehicle@2.0::IVehicleCallback
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp
index 65b055c..eac35f7 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp
@@ -143,15 +143,17 @@
 
   radio->getAvailableNetworks(++serial);
   EXPECT_EQ(std::cv_status::no_timeout, wait());
-  EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
   EXPECT_EQ(serial, radioRsp->rspInfo.serial);
+  ASSERT_TRUE(radioRsp->rspInfo.type == RadioResponseType::SOLICITED ||
+              radioRsp->rspInfo.type == RadioResponseType::SOLICITED_ACK_EXP);
 
   if (cardStatus.cardState == CardState::ABSENT) {
-      ASSERT_TRUE(CheckGeneralError() ||
-                  radioRsp->rspInfo.error == RadioError::NONE ||
-                  radioRsp->rspInfo.error == RadioError::DEVICE_IN_USE ||
-                  radioRsp->rspInfo.error == RadioError::CANCELLED ||
-                  radioRsp->rspInfo.error == RadioError::OPERATION_NOT_ALLOWED);
+      ASSERT_TRUE(
+          CheckGeneralError() || radioRsp->rspInfo.error == RadioError::NONE ||
+          radioRsp->rspInfo.error == RadioError::DEVICE_IN_USE ||
+          radioRsp->rspInfo.error == RadioError::CANCELLED ||
+          radioRsp->rspInfo.error == RadioError::OPERATION_NOT_ALLOWED ||
+          radioRsp->rspInfo.error == RadioError::MODEM_ERR);
   }
 }
 
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_utils.h b/radio/1.0/vts/functional/radio_hidl_hal_utils.h
index 735e575..923e1e3 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_utils.h
+++ b/radio/1.0/vts/functional/radio_hidl_hal_utils.h
@@ -80,7 +80,7 @@
 using ::android::hardware::Void;
 using ::android::sp;
 
-#define TIMEOUT_PERIOD 40
+#define TIMEOUT_PERIOD 65
 #define RADIO_SERVICE_NAME "slot1"
 
 class RadioHidlTest;