commit | d001205b0afec0841d72d142f2790de347e52a6c | [log] [tgz] |
---|---|---|
author | Thieu Le <thieule@chromium.org> | Wed Jul 25 16:09:09 2012 -0700 |
committer | Gerrit <chrome-bot@google.com> | Fri Jul 27 14:45:02 2012 -0700 |
tree | 52520da8453f64882fe770681f0fc049de6e1994 | |
parent | ca62154261be3d481c1e54d5fcf7012e8918b4e2 [diff] |
shill: Perform modem disconnect based on modem state. The cellular state may not accurately reflect whether the underlying modem is connecting/connected. If CellularCapabilityUniversal::Connect() is called and while that call is still in progress, a call is made to CellularCapabilityUniversal::StopModem(), the cellular state does not indicate that the modem is connecting so StopModem() does not attempt to disconnect. It's better to use the modem state to determine if we need to disconnect the modem. Also in this CL is a check to ignore stale modem Connected state transitions. The stale state transition can occur when the modem is asked to connect but is then quickly disabled. In this case, the Connected state can show up after the modem has been disabled. BUG=chromium-os:32241 TEST=Unit tests, cellular_Smoke, cellular_ModemControl Change-Id: I7cc3316a287729529b097ca41c579b7ea6ecefdb Reviewed-on: https://gerrit.chromium.org/gerrit/28441 Reviewed-by: Darin Petkov <petkov@chromium.org> Tested-by: Thieu Le <thieule@chromium.org> Commit-Ready: Thieu Le <thieule@chromium.org>