diff options
Diffstat (limited to 'telephony')
-rw-r--r-- | telephony/java/com/android/internal/telephony/RIL.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/telephony/java/com/android/internal/telephony/RIL.java b/telephony/java/com/android/internal/telephony/RIL.java index 916602f..c97ba6e 100644 --- a/telephony/java/com/android/internal/telephony/RIL.java +++ b/telephony/java/com/android/internal/telephony/RIL.java @@ -359,6 +359,11 @@ public final class RIL extends BaseCommands implements CommandsInterface { rr.onError(GENERIC_FAILURE, null); rr.release(); } + } finally { + // Note: We are "Done" only if there are no outstanding + // requests or replies. Thus this code path will only release + // the wake lock on errors. + releaseWakeLockIfDone(); } if (!alreadySubtracted) { @@ -2026,6 +2031,12 @@ public final class RIL extends BaseCommands implements CommandsInterface { send(RILRequest rr) { Message msg; + if (mSocket == null) { + rr.onError(RADIO_NOT_AVAILABLE, null); + rr.release(); + return; + } + msg = mSender.obtainMessage(EVENT_SEND, rr); acquireWakeLock(); |