From b92662634d59752b5b80ce67f8cde5185b0f3105 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 19 Oct 2010 14:20:57 -0500 Subject: [PATCH] sim: Read EFust and EFest after phase is known --- src/sim.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/sim.c b/src/sim.c index a4c5f9bf..d87c71f4 100644 --- a/src/sim.c +++ b/src/sim.c @@ -1359,6 +1359,11 @@ static void sim_efphase_read_cb(int ok, int length, int record, if (!ok || length != 1) { sim->phase = OFONO_SIM_PHASE_3G; + + ofono_sim_read(sim, SIM_EFUST_FILEID, + OFONO_SIM_FILE_STRUCTURE_TRANSPARENT, + sim_efust_read_cb, sim); + return; } @@ -1374,8 +1379,12 @@ static void sim_efphase_read_cb(int ok, int length, int record, break; default: ofono_error("Unknown phase"); - break; + return; } + + ofono_sim_read(sim, SIM_EFSST_FILEID, + OFONO_SIM_FILE_STRUCTURE_TRANSPARENT, + sim_efsst_read_cb, sim); } static void sim_initialize_after_pin(struct ofono_sim *sim) @@ -1395,16 +1404,6 @@ static void sim_initialize_after_pin(struct ofono_sim *sim) ofono_sim_read(sim, SIM_EF_CPHS_INFORMATION_FILEID, OFONO_SIM_FILE_STRUCTURE_TRANSPARENT, sim_cphs_information_read_cb, sim); - - /* Also retrieve the GSM service table */ - if (sim->phase >= OFONO_SIM_PHASE_3G) - ofono_sim_read(sim, SIM_EFUST_FILEID, - OFONO_SIM_FILE_STRUCTURE_TRANSPARENT, - sim_efust_read_cb, sim); - else - ofono_sim_read(sim, SIM_EFSST_FILEID, - OFONO_SIM_FILE_STRUCTURE_TRANSPARENT, - sim_efsst_read_cb, sim); } static void sim_pin_query_cb(const struct ofono_error *error,