diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-09-19 04:33:38 -0700 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-09-19 04:33:38 -0700 |
commit | 4663833e70b3a4d0bdc85e17cc0d62e9b79c3456 (patch) | |
tree | 6cbe5a8ee099af90795510cb036681a73791edaa | |
parent | 6e66b321e01c98e673cc59c5f4d982d0f41a2ef0 (diff) | |
download | connman-4663833e70b3a4d0bdc85e17cc0d62e9b79c3456.tar.gz connman-4663833e70b3a4d0bdc85e17cc0d62e9b79c3456.tar.bz2 connman-4663833e70b3a4d0bdc85e17cc0d62e9b79c3456.zip |
Fix broken concept of roaming tracking with MBM devices
-rw-r--r-- | plugins/mbm.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/plugins/mbm.c b/plugins/mbm.c index c8e6e950..33616b73 100644 --- a/plugins/mbm.c +++ b/plugins/mbm.c @@ -267,18 +267,22 @@ static void creg_update(struct connman_device *device, int status) { struct mbm_data *data = connman_device_get_data(device); - if (data->creg_status != 1 && data->creg_status != 5 && - (status == 1 || status == 5)) { + if (status != 1 && status != 5) + goto done; + + if (data->network != NULL) { if (status == 5) connman_network_set_roaming(data->network, TRUE); else connman_network_set_roaming(data->network, FALSE); connman_network_set_group(data->network, data->imsi); + } + if (data->creg_status != 1 && data->creg_status != 5) network_ready(device); - } +done: data->creg_status = status; } |