DO NOT MERGE Dont let supplicant stay in DORMANT state
In some situations, the supplicant stays in a DORMANT state. This prevents a connections to a network. As long as the driver is started and we are not in scan-only mode, issue a reconnect to get supplicant out of DORMANT state. Upon failures and network disable, supplicant should get into an INACTIVE state. Bug: 3236920 Change-Id: If32b5bfb7fea6c69c4a461db0b2012875b6273b5
This commit is contained in:
@@ -1038,13 +1038,18 @@ public class WifiStateTracker extends NetworkStateTracker {
|
|||||||
}
|
}
|
||||||
handleDisconnectedState(newDetailedState, true);
|
handleDisconnectedState(newDetailedState, true);
|
||||||
/**
|
/**
|
||||||
* If we were associated with a network (networkId != -1),
|
* We should never let the supplicant stay in DORMANT state
|
||||||
* assume we reached this state because of a failed attempt
|
* as long as we are in connect mode and driver is started
|
||||||
* to acquire an IP address, and attempt another connection
|
*
|
||||||
* and IP address acquisition in RECONNECT_DELAY_MSECS
|
* We should normally hit a DORMANT state due to a disconnect
|
||||||
* milliseconds.
|
* issued after an IP configuration failure. We issue a reconnect
|
||||||
|
* after RECONNECT_DELAY_MSECS in such a case.
|
||||||
|
*
|
||||||
|
* After multiple failures, the network gets disabled and the
|
||||||
|
* supplicant should reach an INACTIVE state.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
if (mRunState == RUN_STATE_RUNNING && !mIsScanOnly && networkId != -1) {
|
if (mRunState == RUN_STATE_RUNNING && !mIsScanOnly) {
|
||||||
sendMessageDelayed(reconnectMsg, RECONNECT_DELAY_MSECS);
|
sendMessageDelayed(reconnectMsg, RECONNECT_DELAY_MSECS);
|
||||||
} else if (mRunState == RUN_STATE_STOPPING) {
|
} else if (mRunState == RUN_STATE_STOPPING) {
|
||||||
stopDriver();
|
stopDriver();
|
||||||
|
|||||||
Reference in New Issue
Block a user