conman: Fix a logging bug about attempts to join the WLAN.
conman incorrectly treated all "wifi setclient" 0 return codes as
indicating successful association. This ignored the case in which
wpa_supplicant is already running with the specified config, in which
case /bin/wifi returns 0 without touching wpa_supplicant, even if
wpa_supplicant is not associated.
Bug: 34741612
Change-Id: I76911ae0291c834841602fa3038436010a5ac292
diff --git a/conman/connection_manager.py b/conman/connection_manager.py
index c74b960..b90365a 100755
--- a/conman/connection_manager.py
+++ b/conman/connection_manager.py
@@ -160,7 +160,10 @@
self.logger.debug('Wifi client already started on %s GHz', self.band)
return
- if self._actually_start_client():
+ # /bin/wifi will return 0 if the config hasn't changed, even if it is not
+ # /currently associated, so we need to check self.client_up as well as
+ # /checking that /bin/wifi succeeded.
+ if self._actually_start_client() and self.client_up:
self.wifi.status.connected_to_wlan = True
self.logger.info('Started wifi client on %s GHz', self.band)