Merge "Change order of ps and suspendmode calls" into jb-mr1-dev
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index b3260b1..9fe1c60 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -1771,15 +1771,18 @@
}
/* Disable power save and suspend optimizations during DHCP */
- mWifiNative.setPowerSave(false);
+ // Note: The order here is important for now. Brcm driver changes
+ // power settings when we control suspend mode optimizations.
+ // TODO: Remove this comment when the driver is fixed.
setSuspendOptimizationsNative(SUSPEND_DUE_TO_DHCP, false);
+ mWifiNative.setPowerSave(false);
}
void handlePostDhcpSetup() {
/* Restore power save and suspend optimizations */
- mWifiNative.setPowerSave(true);
setSuspendOptimizationsNative(SUSPEND_DUE_TO_DHCP, true);
+ mWifiNative.setPowerSave(true);
// Set the coexistence mode back to its default value
mWifiNative.setBluetoothCoexistenceMode(
@@ -2710,8 +2713,6 @@
mWifiNative.stopFilteringMulticastV4Packets();
}
- mWifiNative.setPowerSave(true);
-
if (mIsScanMode) {
mWifiNative.setScanResultHandling(SCAN_ONLY_MODE);
mWifiNative.disconnect();
@@ -2736,6 +2737,7 @@
mWifiNative.setSuspendOptimizations(mSuspendOptNeedsDisabled == 0
&& mUserWantsSuspendOpt.get());
}
+ mWifiNative.setPowerSave(true);
if (mP2pSupported) mWifiP2pChannel.sendMessage(WifiStateMachine.CMD_ENABLE_P2P);
}