diff options
author | Martijn Coenen <maco@google.com> | 2012-10-22 17:22:04 -0700 |
---|---|---|
committer | Martijn Coenen <maco@google.com> | 2012-10-22 17:29:07 -0700 |
commit | ce3c183c9b8f3e36ba841d15b91d855854552321 (patch) | |
tree | ad0fc03cdb90e50ca7d95e065ad8316cb7ba0936 | |
parent | dce0f825ae357c2c87b5b3ee4b9b52b832900b16 (diff) | |
download | packages_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-x | nci/jni/SecureElement.cpp | 5 |
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++) |