diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-10-19 14:06:52 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-10-19 14:07:41 -0500 |
commit | 04755acc3a44ed7cb478f3aaec0e3bbfa2d5067d (patch) | |
tree | ddbe900ae54e0210ddd3090d8904674bb7f3bd47 /src | |
parent | 93f7bca25f0e57fbdff9871946dc8673a6838fc5 (diff) | |
download | ofono-04755acc3a44ed7cb478f3aaec0e3bbfa2d5067d.tar.bz2 |
sim: Fix setting the correct phase from EFphase
Diffstat (limited to 'src')
-rw-r--r-- | src/sim.c | 21 |
1 files changed, 18 insertions, 3 deletions
@@ -1357,10 +1357,25 @@ static void sim_efphase_read_cb(int ok, int length, int record, { struct ofono_sim *sim = userdata; - if (!ok || length != 1) + if (!ok || length != 1) { sim->phase = OFONO_SIM_PHASE_3G; - else - sim->phase = data[0]; + return; + } + + switch (data[0]) { + case 0: + sim->phase = OFONO_SIM_PHASE_1G; + break; + case 2: + sim->phase = OFONO_SIM_PHASE_2G; + break; + case 3: + sim->phase = OFONO_SIM_PHASE_2G_PLUS; + break; + default: + ofono_error("Unknown phase"); + break; + } } static void sim_initialize_after_pin(struct ofono_sim *sim) |