NFC service is getting stuck if NFC reset is done during wTx
Fix is added to unblock the transceive when nfc off/on requested.
diff --git a/nci/jni/NativeSecureElement.cpp b/nci/jni/NativeSecureElement.cpp
index a8a746a..e98f0a6 100644
--- a/nci/jni/NativeSecureElement.cpp
+++ b/nci/jni/NativeSecureElement.cpp
@@ -118,6 +118,8 @@
if(!se.mIsWiredModeOpen)
return false;
+ /* release any pending transceive wait */
+ se.releasePendingTransceive();
status = se.setNfccPwrConfig(se.POWER_ALWAYS_ON);
if(status != NFA_STATUS_OK)
@@ -130,12 +132,12 @@
if(status == NFA_STATUS_OK)
stat = true;
}
+ se.mIsWiredModeOpen = false;
/* if nothing is active after this, then tell the controller to power down */
if (! PowerSwitch::getInstance ().setModeOff (PowerSwitch::SE_CONNECTED))
PowerSwitch::getInstance ().setLevel (PowerSwitch::LOW_POWER);
LOG(INFO) << StringPrintf("%s: exit", __func__);
-
return stat ? JNI_TRUE : JNI_FALSE;
}
/*******************************************************************************