diff options
author | Ricardo Cerqueira <ricardo@cyngn.com> | 2014-09-05 12:48:49 +0100 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2014-09-12 22:03:33 +0100 |
commit | 2a243bbdc04ab3b83f6b91ca391ad99a63eaa828 (patch) | |
tree | 8c3eed89ec38bb486632c827994e70e16e3f73d2 | |
parent | 0e5516827eb85dbef738f1fc8611751d1fef4bc1 (diff) | |
download | android_frameworks_opt_telephony-2a243bbdc04ab3b83f6b91ca391ad99a63eaa828.tar.gz android_frameworks_opt_telephony-2a243bbdc04ab3b83f6b91ca391ad99a63eaa828.tar.bz2 android_frameworks_opt_telephony-2a243bbdc04ab3b83f6b91ca391ad99a63eaa828.zip |
DcTracker: Expedite data stall recovery
The current stall recovery process has a pending packet queue which
needs to fill up before a stall is determined. But that process is
also multi-step, and it is currently expecting that queue to fill
between steps.
Waiting for the unacknowledged packets to grow after running the
connection cleanup step looks like something that would never happen,
or would take a very long time to, so expedite the stall recovery after
it begins: if any single packet stalls and there's already a recovery
in progress, run the follow up step immediately.
Change-Id: Ib16b2c47b5c832a812c8bd2a3d940862741ed9db
-rw-r--r-- | src/java/com/android/internal/telephony/dataconnection/DcTrackerBase.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTrackerBase.java b/src/java/com/android/internal/telephony/dataconnection/DcTrackerBase.java index 029044c88..4217db988 100644 --- a/src/java/com/android/internal/telephony/dataconnection/DcTrackerBase.java +++ b/src/java/com/android/internal/telephony/dataconnection/DcTrackerBase.java @@ -1668,7 +1668,8 @@ public abstract class DcTrackerBase extends Handler { NUMBER_SENT_PACKETS_OF_HANG); boolean suspectedStall = DATA_STALL_NOT_SUSPECTED; - if (mSentSinceLastRecv >= hangWatchdogTrigger) { + if (mSentSinceLastRecv >= hangWatchdogTrigger || + (mSentSinceLastRecv > 0 && getRecoveryAction() != RecoveryAction.GET_DATA_CALL_LIST) ) { if (DBG) { log("onDataStallAlarm: tag=" + tag + " do recovery action=" + getRecoveryAction()); } |