From 509630ea98cb43b4396ca6d1e625e216a7e20882 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Sat, 24 Nov 2012 07:51:36 -0600 Subject: [PATCH] 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]: +++++++++++++++++++++++++++ --- src/sim.c | 7 ++++--- 1 file 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); } /*