summaryrefslogtreecommitdiff
path: root/src/com/android/se/Terminal.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/se/Terminal.java')
-rw-r--r--src/com/android/se/Terminal.java28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/com/android/se/Terminal.java b/src/com/android/se/Terminal.java
index d21c323..521d696 100644
--- a/src/com/android/se/Terminal.java
+++ b/src/com/android/se/Terminal.java
@@ -247,22 +247,22 @@ public class Terminal {
if (channel == null) {
return;
}
- if (mIsConnected) {
- try {
- byte status = mSEHal.closeChannel((byte) channel.getChannelNumber());
- /* For Basic Channels, errors are expected.
- * Underlying implementations use this call as an indication when there
- * aren't any users actively using the channel, and the chip can go
- * into low power state.
- */
- if (!channel.isBasicChannel() && status != SecureElementStatus.SUCCESS) {
- Log.e(mTag, "Error closing channel " + channel.getChannelNumber());
+ synchronized (mLock) {
+ if (mIsConnected) {
+ try {
+ byte status = mSEHal.closeChannel((byte) channel.getChannelNumber());
+ /* For Basic Channels, errors are expected.
+ * Underlying implementations use this call as an indication when there
+ * aren't any users actively using the channel, and the chip can go
+ * into low power state.
+ */
+ if (!channel.isBasicChannel() && status != SecureElementStatus.SUCCESS) {
+ Log.e(mTag, "Error closing channel " + channel.getChannelNumber());
+ }
+ } catch (RemoteException e) {
+ Log.e(mTag, "Exception in closeChannel() " + e);
}
- } catch (RemoteException e) {
- Log.e(mTag, "Exception in closeChannel() " + e);
}
- }
- synchronized (mLock) {
mChannels.remove(channel.getChannelNumber(), channel);
if (mChannels.get(channel.getChannelNumber()) != null) {
Log.e(mTag, "Removing channel failed");