diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-10-19 14:20:57 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-10-19 14:20:57 -0500 |
commit | b92662634d59752b5b80ce67f8cde5185b0f3105 (patch) | |
tree | 804b9a8928676dcb9cf31b81f9e48834c2b5d0c8 /src | |
parent | cfb3cd9647226811db8e1ff3381656a26ef32517 (diff) | |
download | ofono-b92662634d59752b5b80ce67f8cde5185b0f3105.tar.bz2 |
sim: Read EFust and EFest after phase is known
Diffstat (limited to 'src')
-rw-r--r-- | src/sim.c | 21 |
1 files changed, 10 insertions, 11 deletions
@@ -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, |