[PATCH 5/5] update gprs context settings when activating primary conext

Martin Xu martin.xu at intel.com
Tue Nov 17 07:49:13 PST 2009


---
 drivers/mbmmodem/gprs-context.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/drivers/mbmmodem/gprs-context.c b/drivers/mbmmodem/gprs-context.c
index ecbafa0..b800d4a 100644
--- a/drivers/mbmmodem/gprs-context.c
+++ b/drivers/mbmmodem/gprs-context.c
@@ -116,6 +116,18 @@ static void mbm_cgdcont_cb(gboolean ok, GAtResult *result, gpointer user_data)
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
 }
 
+static void update_gprs_context_settings(struct ofono_gprs_context *gc)
+{
+	const char *interface;
+
+	struct ofono_modem *modem = ofono_gprs_context_get_modem(gc);
+
+	interface = ofono_modem_get_string(modem, "NetworkInterface");
+
+	ofono_gprs_context_update_settings(gc, interface, "dhcp",
+						NULL, NULL, NULL, NULL);
+}
+
 static void mbm_gprs_activate_primary(struct ofono_gprs_context *gc,
 				const struct ofono_gprs_primary_context *ctx,
 				ofono_gprs_context_cb_t cb, void *data)
@@ -132,6 +144,8 @@ static void mbm_gprs_activate_primary(struct ofono_gprs_context *gc,
 
 	cbd->user = gc;
 
+	update_gprs_context_settings(gc);
+
 	/* TODO: Handle username / password fields */
 	len = sprintf(buf, "AT+CGDCONT=%u,\"IP\"", ctx->cid);
 
-- 
1.6.1.3



More information about the ofono mailing list