diff options
-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; } |