summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/WifiServiceImpl.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java
index eb1746e87..c2913ea73 100644
--- a/service/java/com/android/server/wifi/WifiServiceImpl.java
+++ b/service/java/com/android/server/wifi/WifiServiceImpl.java
@@ -966,10 +966,17 @@ public class WifiServiceImpl extends IWifiManager.Stub {
LocalOnlyHotspotCallback.ERROR_INCOMPATIBLE_MODE);
break;
case WifiManager.IFACE_IP_MODE_CONFIGURATION_ERROR:
- // there was an error setting up the hotspot... trigger onFailed for the
- // registered LOHS requestors
- sendHotspotFailedMessageToAllLOHSRequestInfoEntriesLocked(
- LocalOnlyHotspotCallback.ERROR_GENERIC);
+ Slog.d(TAG, "IP mode config error - need to clean up");
+ if (mLocalOnlyHotspotRequests.isEmpty()) {
+ Slog.d(TAG, "no LOHS requests, stop softap");
+ stopSoftAp();
+ } else {
+ Slog.d(TAG, "we have LOHS requests, clean them up");
+ // there was an error setting up the hotspot... trigger onFailed for the
+ // registered LOHS requestors
+ sendHotspotFailedMessageToAllLOHSRequestInfoEntriesLocked(
+ LocalOnlyHotspotCallback.ERROR_GENERIC);
+ }
updateInterfaceIpStateInternal(null, WifiManager.IFACE_IP_MODE_UNSPECIFIED);
break;
case WifiManager.IFACE_IP_MODE_UNSPECIFIED: