[PATCH 1/2] Fix: Username and Password must be set after context is created.

sjur.brandeland at stericsson.com sjur.brandeland at stericsson.com
Mon Feb 1 07:50:23 PST 2010


From: Sjur Brændeland <sjur.brandeland at stericsson.com>

---
 drivers/stemodem/gprs-context.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/stemodem/gprs-context.c b/drivers/stemodem/gprs-context.c
index 6743aba..c178fb6 100644
--- a/drivers/stemodem/gprs-context.c
+++ b/drivers/stemodem/gprs-context.c
@@ -416,7 +416,7 @@ static void ste_gprs_activate_primary(struct ofono_gprs_context *gc,
 {
 	struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc);
 	struct cb_data *cbd = cb_data_new(cb, data);
-	char buf[AUTH_BUF_LENGTH];
+	char buf[2*AUTH_BUF_LENGTH];
 	int len;
 
 	if (!cbd)
@@ -425,19 +425,17 @@ static void ste_gprs_activate_primary(struct ofono_gprs_context *gc,
 	gcd->active_context = ctx->cid;
 	cbd->user = gc;
 
-	/* Set username and password */
-	sprintf(buf, "AT*EIAAUW=%d,1,\"%s\",\"%s\"", ctx->cid,
-		ctx->username, ctx->password);
-
-	if (g_at_chat_send(gcd->chat, buf, none_prefix, NULL, NULL, NULL) == 0)
-		goto error;
-
 	len = sprintf(buf, "AT+CGDCONT=%u,\"IP\"", ctx->cid);
 
 	if (ctx->apn)
 		snprintf(buf + len, sizeof(buf) - len - 3, ",\"%s\"",
 				ctx->apn);
 
+	/* Set username and password. Must be done after context creation */
+	len = strlen(buf);
+	sprintf(buf+len, ";*EIAAUW=%d,1,\"%s\",\"%s\"", ctx->cid,
+		ctx->username, ctx->password);
+
 	if (g_at_chat_send(gcd->chat, buf, none_prefix,
 				ste_cgdcont_cb, cbd, g_free) > 0)
 		return;
-- 
1.6.3.3



More information about the ofono mailing list