---
drivers/qmimodem/gprs-context.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/qmimodem/gprs-context.c b/drivers/qmimodem/gprs-context.c
index 1708ce0..02b0671 100644
--- a/drivers/qmimodem/gprs-context.c
+++ b/drivers/qmimodem/gprs-context.c
@@ -230,15 +230,13 @@ static void qmi_activate_primary(struct
ofono_gprs_context *gc,
ofono_gprs_context_cb_t cb, void *user_data)
{
struct gprs_context_data *data = ofono_gprs_context_get_data(gc);
- struct cb_data *cbd = cb_data_new(cb, user_data);
+ struct cb_data *cbd;
struct qmi_param *param;
uint8_t ip_family;
uint8_t auth;
DBG("cid %u", ctx->cid);
- cbd->user = gc;
-
data->active_context = ctx->cid;
switch (ctx->proto) {
@@ -284,6 +282,9 @@ static void qmi_activate_primary(struct ofono_gprs_context
*gc,
qmi_param_append(param, QMI_WDS_PARAM_PASSWORD,
strlen(ctx->password), ctx->password);
+ cbd = cb_data_new(cb, user_data);
+ cbd->user = gc;
+
if (qmi_service_send(data->wds, QMI_WDS_START_NET, param,
start_net_cb, cbd, g_free) > 0)
return;
@@ -293,9 +294,7 @@ static void qmi_activate_primary(struct ofono_gprs_context
*gc,
error:
data->active_context = 0;
- CALLBACK_WITH_FAILURE(cb, cbd->data);
-
- g_free(cbd);
+ CALLBACK_WITH_FAILURE(cb, user_data);
}
static void stop_net_cb(struct qmi_result *result, void *user_data)
--
2.9.3
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono