--- drivers/nwmodem/radio-settings.c | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/drivers/nwmodem/radio-settings.c b/drivers/nwmodem/radio-settings.c index b8b5719..0cf75f5 100644 --- a/drivers/nwmodem/radio-settings.c +++ b/drivers/nwmodem/radio-settings.c @@ -101,11 +101,13 @@ static void nw_query_rat_mode(struct ofono_radio_settings *rs, struct radio_settings_data *rsd = ofono_radio_settings_get_data(rs); struct cb_data *cbd = cb_data_new(cb, data); - if (g_at_chat_send(rsd->chat, "AT$NWRAT?", nwrat_prefix, - nwrat_query_cb, cbd, g_free) == 0) { - CALLBACK_WITH_FAILURE(cb, -1, data); - g_free(cbd); - } + if (cbd && g_at_chat_send(rsd->chat, "AT$NWRAT?", nwrat_prefix, + nwrat_query_cb, cbd, g_free) > 0) + return; + + g_free(cbd); + + CALLBACK_WITH_FAILURE(cb, -1, data); } static void nwrat_modify_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -128,6 +130,9 @@ static void nw_set_rat_mode(struct ofono_radio_settings *rs, char buf[20]; int value = 0; + if (cbd == NULL) + goto error; + switch (mode) { case OFONO_RADIO_ACCESS_MODE_ANY: value = 0; -- 1.7.0.4 _______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono