summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartijn Coenen <maco@google.com>2012-10-22 17:22:04 -0700
committerMartijn Coenen <maco@google.com>2012-10-22 17:29:07 -0700
commitce3c183c9b8f3e36ba841d15b91d855854552321 (patch)
treead0fc03cdb90e50ca7d95e065ad8316cb7ba0936
parentdce0f825ae357c2c87b5b3ee4b9b52b832900b16 (diff)
downloadpackages_apps_nfc-ce3c183c9b8f3e36ba841d15b91d855854552321.zip
packages_apps_nfc-ce3c183c9b8f3e36ba841d15b91d855854552321.tar.gz
packages_apps_nfc-ce3c183c9b8f3e36ba841d15b91d855854552321.tar.bz2
Reset RF field status on SE activation.
We've seen the NFCC get in a state where it continuously reports field off/field on events. The danger is that the device goes to sleep right after a field on event. On wake-up, the field off/field on loop is gone, and the device prevents any access to the SE from the DH because it thinks the field is still present. Bug: 7386840 Change-Id: I87b681124078fe69c0244efd7b14ebe3ffd1c161
-rwxr-xr-xnci/jni/SecureElement.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/nci/jni/SecureElement.cpp b/nci/jni/SecureElement.cpp
index 6c52030..3c9256b 100755
--- a/nci/jni/SecureElement.cpp
+++ b/nci/jni/SecureElement.cpp
@@ -486,6 +486,11 @@ bool SecureElement::activate (jint seID)
if (mActiveSeOverride)
override_se = NFA_HANDLE_GROUP_EE | mActiveSeOverride;
+ if (mRfFieldIsOn) {
+ ALOGE("%s: RF field indication still on, resetting", fn);
+ mRfFieldIsOn = false;
+ }
+
ALOGD ("%s: override seid=0x%X", fn, override_se );
//activate every discovered secure element
for (int index=0; index < mActualNumEe; index++)