Fix closeChannel executed when HAL is deinitialized am: dc8e004a98 am: 68d47c1d77 am: be0e03d2ed am: e07fe55f48
Original change: https://android-review.googlesource.com/c/platform/hardware/st/secure_element2/+/1676289
Change-Id: I0d5bb59eee5e277a68eccb7ffd45fbd48f135bd2
diff --git a/secure_element/1.0/SecureElement.cpp b/secure_element/1.0/SecureElement.cpp
index 6ec16f0..471c6b6 100644
--- a/secure_element/1.0/SecureElement.cpp
+++ b/secure_element/1.0/SecureElement.cpp
@@ -427,6 +427,13 @@
uint8_t *resp;
int resp_len = 0;
+ if (!checkSeUp) {
+ ALOGE("SecureElement:%s cannot closeChannel, HAL is deinitialized", __func__);
+ mSecureElementStatus = SecureElementStatus::FAILED;
+ ALOGD("SecureElement:%s end", __func__);
+ return mSecureElementStatus;
+ }
+
if ((channelNumber < 0) || (channelNumber >= MAX_CHANNELS)) {
ALOGE("SecureElement:%s Channel not supported", __func__);
mSecureElementStatus = SecureElementStatus::FAILED;
diff --git a/secure_element/1.1/SecureElement.cpp b/secure_element/1.1/SecureElement.cpp
index d6b6f11..6ad56ba 100644
--- a/secure_element/1.1/SecureElement.cpp
+++ b/secure_element/1.1/SecureElement.cpp
@@ -458,6 +458,13 @@
uint8_t *resp;
int resp_len = 0;
+ if (!checkSeUp) {
+ ALOGE("SecureElement:%s cannot closeChannel, HAL is deinitialized", __func__);
+ mSecureElementStatus = SecureElementStatus::FAILED;
+ ALOGD("SecureElement:%s end", __func__);
+ return mSecureElementStatus;
+ }
+
if ((channelNumber < 0) || (channelNumber >= MAX_CHANNELS)) {
ALOGE("SecureElement:%s Channel not supported", __func__);
mSecureElementStatus = SecureElementStatus::FAILED;
diff --git a/secure_element/1.2/SecureElement.cpp b/secure_element/1.2/SecureElement.cpp
index a3801da..77972cb 100644
--- a/secure_element/1.2/SecureElement.cpp
+++ b/secure_element/1.2/SecureElement.cpp
@@ -463,6 +463,13 @@
uint8_t *resp;
int resp_len = 0;
+ if (!checkSeUp) {
+ ALOGE("SecureElement:%s cannot closeChannel, HAL is deinitialized", __func__);
+ mSecureElementStatus = SecureElementStatus::FAILED;
+ ALOGD("SecureElement:%s end", __func__);
+ return mSecureElementStatus;
+ }
+
if ((channelNumber < 0) || (channelNumber >= MAX_CHANNELS)) {
ALOGE("SecureElement:%s Channel not supported", __func__);
mSecureElementStatus = SecureElementStatus::FAILED;