From 04755acc3a44ed7cb478f3aaec0e3bbfa2d5067d Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 19 Oct 2010 14:06:52 -0500 Subject: [PATCH] sim: Fix setting the correct phase from EFphase --- src/sim.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/sim.c b/src/sim.c index 695562f2..a4c5f9bf 100644 --- a/src/sim.c +++ b/src/sim.c @@ -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)