summaryrefslogtreecommitdiffstats
path: root/src/sim.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2012-11-24 07:51:36 -0600
committerDenis Kenzior <denkenz@gmail.com>2012-11-28 10:31:14 -0600
commit509630ea98cb43b4396ca6d1e625e216a7e20882 (patch)
treecdf61cf234e024527bb090d62948641498bf963e /src/sim.c
parente9d15ae89959647c2bf1f28ab1725ce8e6e45a82 (diff)
downloadofono-509630ea98cb43b4396ca6d1e625e216a7e20882.tar.bz2
sim: Fix crash
ofonod[32055]: ++++++++ backtrace ++++++++ ofonod[32055]: #0 0x7f6af0ee3b30 in /lib64/libc.so.6 ofonod[32055]: #1 0x4c2466 in __ofono_watchlist_remove_item() at src/watch.c:57 ofonod[32055]: #2 0x4b5b73 in ofono_sim_remove_spn_watch() at src/sim.c:2715 ofonod[32055]: #3 0x497c30 in netreg_unregister() at src/network.c:1817 ofonod[32055]: #4 0x4912e1 in __ofono_atom_unregister() at src/modem.c:277 ofonod[32055]: #5 0x491387 in flush_atoms() at src/modem.c:425 ofonod[32055]: #6 0x4b6cb8 in __ofono_sim_refresh() at src/sim.c:3154 ofonod[32055]: #7 0x4b8c41 in handle_command_refresh() at src/stk.c:2302 ofonod[32055]: #8 0x4baf0d in ofono_stk_proactive_command_handled_notify() at src/stk.c:3048 ofonod[32055]: #9 0x46c60f in satn_notify() at drivers/ifxmodem/stk.c:229 ofonod[32055]: #10 0x7f6af1711455 in /usr/lib64/libglib-2.0.so.0 ofonod[32055]: #11 0x43e729 in at_chat_match_notify() at gatchat/gatchat.c:421 ofonod[32055]: #12 0x440da8 in received_data() at gatchat/gatio.c:125 ofonod[32055]: #13 0x441834 in dispatch_sources() at gatchat/gatmux.c:157 ofonod[32055]: #14 0x441bbd in received_data() at gatchat/gatmux.c:215 ofonod[32055]: #15 0x7f6af173dfc3 in /usr/lib64/libglib-2.0.so.0 ofonod[32055]: #16 0x7f6af16ef065 in /usr/lib64/libglib-2.0.so.0 ofonod[32055]: #17 0x7f6af16efd0f in /usr/lib64/libglib-2.0.so.0 ofonod[32055]: #18 0x7f6af16efef9 in /usr/lib64/libglib-2.0.so.0 ofonod[32055]: #19 0x7f6af16f032f in /usr/lib64/libglib-2.0.so.0 ofonod[32055]: #20 0x48f5f8 in main() at src/main.c:249 ofonod[32055]: #21 0x7f6af0ed04bd in /lib64/libc.so.6 ofonod[32055]: +++++++++++++++++++++++++++
Diffstat (limited to 'src/sim.c')
-rw-r--r--src/sim.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/sim.c b/src/sim.c
index 6acd72ed..edae5ebd 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -3140,11 +3140,12 @@ void __ofono_sim_refresh(struct ofono_sim *sim, GSList *file_list,
}
if (reinit_naa) {
- /* Force the sim state out of READY */
- sim_free_main_state(sim);
-
sim->state = OFONO_SIM_STATE_RESETTING;
__ofono_modem_sim_reset(__ofono_atom_get_modem(sim->atom));
+
+ /* Force the sim state out of READY */
+ sim_free_main_state(sim);
+ call_state_watches(sim);
}
/*