Export to GitHub

chromium-os - issue #38173

modemmanager-next: bogus modem state transition from enabling to disabled


Posted on Jan 24, 2013 by Quick Kangaroo

ModemManager has a bogus modem state transition from 'enabling' to 'disabled' (see attached ModemManager log):

013-01-24T00:23:35.079769+00:00 localhost ModemManager[26214]: <info> Modem fully enabled... 2013-01-24T00:23:35.079938+00:00 localhost ModemManager[26214]: <info> Modem /org/freedesktop/ModemManager1/Modem/2: state changed (enabling -> disabled)

The root cause seems to be the following:

get_current_consolidated_state() in MMIfaceModem returns MM_MODEM_STATE_DISABLED as the default fallback value. When mm_iface_modem_update_state() is invoked to transition the modem state from MM_MODEM_STATE_ENABLING to MM_MODEM_STATE_ENABLED, the following code can potentially cause the final state to be MM_MODEM_STATE_DISABLED instead.

 /* Enabled may really be searching or registered */
 if (new_state == MM_MODEM_STATE_ENABLED)
     new_state = get_current_consolidated_state (self);
Attachments

Comment #1

Posted on Jan 24, 2013 by Quick Kangaroo

(No comment was entered for this change.)

Comment #2

Posted on Jan 24, 2013 by Quick Kangaroo

CL: https://gerrit.chromium.org/gerrit/#/c/41893/

Also sent patch upstream: https://mail.gnome.org/archives/networkmanager-list/2013-January/msg00097.html

Comment #3

Posted on Jan 24, 2013 by Quick Rabbit

Project: chromiumos/third_party/modemmanager-next Branch : master Author : Ben Chan Commit : ce64189cedd9e48eda793fb35ab69f1af1769eba

Code Review +2: Thieu Le Verified +1: Ben Chan Change-Id : Ice9338deaf73b59ba2379f4230a41ab426e8be4d Reviewed-at : https://gerrit.chromium.org/gerrit/41893

iface-modem: fix invalid modem state consolidation

This patch fixes get_current_consolidated_state() in MMIfaceModem to avoid invalid state transitions, e.g. from 'enabling' to 'disabled'.

BUG=chromium-os:38173 TEST=Verify from the ModemManager log that the modem state is transitioned from enabling' to 'enabled' instead of 'disabled'.

Commit-Queue: Ben Chan

M src/mm-iface-modem.c

Comment #4

Posted on Jan 24, 2013 by Quick Kangaroo

Mark Merge-Requested; pending verification with canary

Comment #5

Posted on Jan 24, 2013 by Quick Kangaroo

Verified with a remote trybot build

Comment #6

Posted on Jan 24, 2013 by Happy Wombat

Merge approved to R25 branch.

Comment #7

Posted on Jan 24, 2013 by Quick Rabbit

Project: chromiumos/third_party/modemmanager-next Branch : release-R25-3428.B Author : Ben Chan Commit : 209f0b0223bdf7049a17175066563c2b6c9defa1

Code Review +2: Ben Chan Verified +1: Ben Chan Commit Queue : Chumped Change-Id : I3c90d0f1bb5bdb61815c55f5fcb80ae4483eac17 Reviewed-at : https://gerrit.chromium.org/gerrit/41903

iface-modem: fix invalid modem state consolidation

This patch fixes get_current_consolidated_state() in MMIfaceModem to avoid invalid state transitions, e.g. from 'enabling' to 'disabled'.

BUG=chromium-os:38173 TEST=Verify from the ModemManager log that the modem state is transitioned from enabling' to 'enabled' instead of 'disabled'.

(cherry picked from commit ce64189cedd9e48eda793fb35ab69f1af1769eba)

Commit-Queue: Ben Chan

M src/mm-iface-modem.c

Comment #8

Posted on Jan 24, 2013 by Quick Kangaroo

(No comment was entered for this change.)

Comment #9

Posted on Jan 30, 2013 by Massive Bird

Verified on 3428.108.0.

Comment #10

Posted on Feb 6, 2013 by Quick Kangaroo

(No comment was entered for this change.)

Comment #11

Posted on Mar 7, 2013 by Quick Rabbit

(No comment was entered for this change.)

Comment #12

Posted on Mar 10, 2013 by Quick Rabbit

(No comment was entered for this change.)

Comment #13

Posted on Mar 19, 2013 by Quick Rabbit

Moved to: Issue chromium:220324

Status: Moved

Labels:
Type-Bug Pri-1 Sev-1 Iteration-74 Merge-Merged OS-Chrome Cr-OS-Systems-Cellular M-25