sim: Fix crash on sim re-insertion
authorDenis Kenzior <denkenz@gmail.com>
Fri, 15 Oct 2010 11:26:34 +0000 (06:26 -0500)
committerDenis Kenzior <denkenz@gmail.com>
Fri, 15 Oct 2010 11:26:34 +0000 (06:26 -0500)
src/sim.c

index ab38e4f..695562f 100644 (file)
--- a/src/sim.c
+++ b/src/sim.c
@@ -1781,11 +1781,6 @@ static void sim_inserted_update(struct ofono_sim *sim)
 
 static void sim_free_state(struct ofono_sim *sim)
 {
-       if (sim->simfs) {
-               sim_fs_free(sim->simfs);
-               sim->simfs = NULL;
-       }
-
        if (sim->iccid) {
                g_free(sim->iccid);
                sim->iccid = NULL;
@@ -1986,6 +1981,11 @@ static void sim_remove(struct ofono_atom *atom)
 
        sim_free_state(sim);
 
+       if (sim->simfs) {
+               sim_fs_free(sim->simfs);
+               sim->simfs = NULL;
+       }
+
        g_free(sim);
 }