Merge "Disconnect from AP when teardown requested." into jb-mr2-dev
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index 04e7095..a5d98cc 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -2442,6 +2442,9 @@
                         if (DBG) log("Already in delayed stop");
                         break;
                     }
+                    /* disconnect right now, but leave the driver running for a bit */
+                    mWifiConfigStore.disableAllNetworks();
+
                     mInDelayedStop = true;
                     mDelayedStopCounter++;
                     if (DBG) log("Delayed stop message " + mDelayedStopCounter);
@@ -2462,6 +2465,9 @@
                         mDelayedStopCounter++;
                         mAlarmManager.cancel(mDriverStopIntent);
                         if (DBG) log("Delayed stop ignored due to start");
+                        if (mOperationalMode == CONNECT_MODE) {
+                            mWifiConfigStore.enableAllNetworks();
+                        }
                     }
                     break;
                 case CMD_DELAYED_STOP_DRIVER: