From 40225200d4900ceb9f9e80094e0b6aac89958d7d Mon Sep 17 00:00:00 2001 From: Fred Gylys-Colwell Date: Fri, 19 Nov 2021 00:14:06 +0000 Subject: [PATCH] Revert workaround for falling back to L3 Merge from Widevine repo of http://go/wvgerrit/139372 Change-Id: I95b65d718fb01344405ad6d68bde16f3fde65334 --- .../cdm/core/src/oemcrypto_adapter_dynamic.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp b/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp index ddbaca3f..6599a800 100644 --- a/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp +++ b/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp @@ -1232,10 +1232,6 @@ class Adapter { } bool IsOTAKeyboxSupported() { - // TODO(b/206570220): work around for failing Keybox reprovisioning is - // to fall back to Level 3 if the keybox is not found. - // Put this back when we can: *needs_keybox_provisioning = true; - return false; if (!level1_valid_) return false; if (!level1_.GenerateOTARequest) return false; size_t buffer_size = 500; // a large buffer. @@ -1334,9 +1330,15 @@ OEMCryptoResult OEMCrypto_InitializeAndCheckKeybox( if (ignore_count > 0) { LOGD("Ignoring keybox status %d", static_cast(keybox_status)); } - LOGD("L1 has no keybox. Falling back to L3."); - gAdapter->FallBackToLevel3(); - return OEMCrypto_SUCCESS; + if (gAdapter->IsOTAKeyboxSupported()) { + LOGD("L1 needs keybox reprovisioning."); + *needs_keybox_provisioning = true; + return OEMCrypto_SUCCESS; + } else { + LOGD("L1 has no keybox. Falling back to L3."); + gAdapter->FallBackToLevel3(); + return OEMCrypto_SUCCESS; + } } return keybox_status; }