pseudomodem: Make DeleteBearer behave like ModemManager
BUG=chromium:362275
TEST=cellular_OutOfCreditsSubscriptionState
Change-Id: I1c7de303848063eb2be57ba0d006180d079c227e
Reviewed-on: https://chromium-review.googlesource.com/194146
Reviewed-by: Thieu Le <[email protected]>
Commit-Queue: Thieu Le <[email protected]>
Tested-by: Thieu Le <[email protected]>
diff --git a/client/cros/cellular/pseudomodem/disconnect_machine.py b/client/cros/cellular/pseudomodem/disconnect_machine.py
index 7b4c84f..0367fdd 100644
--- a/client/cros/cellular/pseudomodem/disconnect_machine.py
+++ b/client/cros/cellular/pseudomodem/disconnect_machine.py
@@ -38,8 +38,6 @@
assert not self._modem.IsPendingConnect()
assert not self._modem.IsPendingEnable()
assert not self._modem.IsPendingRegister()
- assert self._modem.active_bearers
- assert self._modem.bearers
dc_reason = mm1_constants.MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED
try:
@@ -94,9 +92,6 @@
message))
return False
- assert self._modem.bearers
- assert self._modem.active_bearers
-
if self.bearer_path == mm1_constants.ROOT_PATH:
logging.info('All bearers will be disconnected.')
elif not (self.bearer_path in self._modem.bearers):
diff --git a/client/cros/cellular/pseudomodem/modem.py b/client/cros/cellular/pseudomodem/modem.py
index 778146b..dfd6be6 100644
--- a/client/cros/cellular/pseudomodem/modem.py
+++ b/client/cros/cellular/pseudomodem/modem.py
@@ -602,17 +602,10 @@
logging.info('Unknown bearer. Nothing to do.')
return
bearer_object = self.bearers[bearer]
- if bearer_object.IsActive():
- def _SuccessCallback():
- logging.info('Modem: Bearer %s disconnected.', str(bearer))
- def _ErrorCallback(error):
- logging.info('Modem: Failed to disconnect bearer: %s',
- str(error))
- self.Disconnect(bearer, _SuccessCallback, _ErrorCallback)
-
bearer_object.remove_from_connection()
self.bearers.pop(bearer)
self._UpdateBearersProperty()
+ self.active_bearers.pop(bearer)
def ClearBearers(self):