camera2: Don't log vendor tag errors when camera HAL too old

Change-Id: Id7fe9464d7599a566cea976cddc62ad101cf4a10
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index 78e7037..0fcd598 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -81,13 +81,8 @@
         mCameraService = CameraBinderDecorator.newInstance(cameraServiceRaw);
 
         try {
-            int err = CameraMetadataNative.nativeSetupGlobalVendorTagDescriptor();
-            if (err == CameraBinderDecorator.EOPNOTSUPP) {
-                Log.w(TAG, "HAL version doesn't vendor tags.");
-            } else {
-                CameraBinderDecorator.throwOnError(CameraMetadataNative.
-                        nativeSetupGlobalVendorTagDescriptor());
-            }
+            CameraBinderDecorator.throwOnError(
+                    CameraMetadataNative.nativeSetupGlobalVendorTagDescriptor());
         } catch(CameraRuntimeException e) {
             throw new IllegalStateException("Failed to setup camera vendor tags",
                     e.asChecked());
diff --git a/core/jni/android_hardware_camera2_CameraMetadata.cpp b/core/jni/android_hardware_camera2_CameraMetadata.cpp
index 8c15ac25..957f95c 100644
--- a/core/jni/android_hardware_camera2_CameraMetadata.cpp
+++ b/core/jni/android_hardware_camera2_CameraMetadata.cpp
@@ -579,9 +579,14 @@
     sp<VendorTagDescriptor> desc;
     err = cameraService->getCameraVendorTagDescriptor(/*out*/desc);
 
-    if (err != OK) {
-        ALOGE("%s: Failed to setup vendor tag descriptors, received error %s (%d)", __FUNCTION__,
-                strerror(-err), err);
+    if (err == -EOPNOTSUPP) {
+        ALOGW("%s: Camera HAL too old; does not support vendor tags", __FUNCTION__);
+        VendorTagDescriptor::clearGlobalVendorTagDescriptor();
+
+        return OK;
+    } else if (err != OK) {
+        ALOGE("%s: Failed to setup vendor tag descriptors, received error %s (%d)",
+                __FUNCTION__, strerror(-err), err);
         return err;
     }