Merge change 2347 into donut

* changes:
  Fix Disconnect path for CDMA.
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
index 2cbad78..a9c0f46 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
@@ -146,12 +146,16 @@
                 null, obtainMessage(EVENT_SETUP_DATA_CONNECTION_DONE));
     }
 
+    private void tearDownData(Message msg) {
+        if (phone.mCM.getRadioState().isOn()) {
+            phone.mCM.deactivateDataCall(cid, obtainMessage(EVENT_DEACTIVATE_DONE, msg));
+        }
+    }
+
     protected void disconnect(Message msg) {
         onDisconnect = msg;
         if (state == State.ACTIVE) {
-            if (phone.mCM.getRadioState().isOn()) {
-                phone.mCM.deactivateDataCall(cid, obtainMessage(EVENT_DEACTIVATE_DONE, msg));
-            }
+            tearDownData(msg);
         } else if (state == State.ACTIVATING) {
             receivedDisconnectReq = true;
         } else {
@@ -280,7 +284,7 @@
                 // Don't bother reporting success if there's already a
                 // pending disconnect request, since DataConnectionTracker
                 // has already updated its state.
-                disconnect(onDisconnect);
+                tearDownData(onDisconnect);
             } else {
                 String[] response = ((String[]) ar.result);
                 cid = Integer.parseInt(response[0]);