diff options
| author | Irfan Sheriff <isheriff@google.com> | 2010-01-20 13:26:08 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-01-20 13:26:08 -0800 |
| commit | 48ef378d01b3ace349cbb6ba564276b854d872c9 (patch) | |
| tree | a2f8b5768d6a9d80e54a4cb2671355d661d21809 | |
| parent | 1a337547d5377c57dbb10a24d4d73ad6bda829ea (diff) | |
| parent | 0fe3f7cbbf769b80cd5ee549bbd0f7723f4d9312 (diff) | |
| download | frameworks_base-48ef378d01b3ace349cbb6ba564276b854d872c9.zip frameworks_base-48ef378d01b3ace349cbb6ba564276b854d872c9.tar.gz frameworks_base-48ef378d01b3ace349cbb6ba564276b854d872c9.tar.bz2 | |
Merge "DO NOT MERGE Avoid wifi disable in a UNKNOWN state" into eclair
| -rw-r--r-- | services/java/com/android/server/WifiService.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java index b29e769..3a08e4d 100644 --- a/services/java/com/android/server/WifiService.java +++ b/services/java/com/android/server/WifiService.java @@ -329,6 +329,17 @@ public class WifiService extends IWifiManager.Stub { return false; } + /** + * Multiple calls to unregisterReceiver() cause exception and a system crash. + * This can happen if a supplicant is lost (or firmware crash occurs) and user indicates + * disable wifi at the same time. + * Avoid doing a disable when the current Wifi state is UNKNOWN + * TODO: Handle driver load fail and supplicant lost as seperate states + */ + if (mWifiState == WIFI_STATE_UNKNOWN && !enable) { + return false; + } + setWifiEnabledState(enable ? WIFI_STATE_ENABLING : WIFI_STATE_DISABLING, uid); if (enable) { |
