diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/network.c | 5 | ||||
-rw-r--r-- | src/sim.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/network.c b/src/network.c index 33a1f65a..3686614b 100644 --- a/src/network.c +++ b/src/network.c @@ -1261,12 +1261,15 @@ static void sim_pnn_read_cb(struct ofono_modem *modem, int ok, sim_eons_add_pnn_record(netreg->eons, record, data, record_length); + if (record != total) + return; + check: /* If PNN is not present then OPL is not useful, don't * retrieve it. If OPL is not there then PNN[1] will * still be used for the HPLMN and/or EHPLMN, if PNN * is present. */ - if ((record == total || !ok) && !sim_eons_pnn_is_empty(netreg->eons)) + if (!sim_eons_pnn_is_empty(netreg->eons)) ofono_sim_read(modem, SIM_EFOPL_FILEID, sim_opl_read_cb, NULL); } @@ -201,8 +201,11 @@ static void sim_msisdn_read_cb(struct ofono_modem *modem, int ok, sim->own_numbers = g_slist_prepend(sim->own_numbers, ph); + if (record != total) + return; + check: - if ((record == total || !ok) && sim->own_numbers) { + if (sim->own_numbers) { char **own_numbers; DBusConnection *conn = ofono_dbus_get_connection(); |