From 543b54a34e2c709c2c4d09a29a0d2676b1bb2c1f Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Wed, 11 May 2011 13:24:04 -0500 Subject: [PATCH] gprs: Make sure to clean up interfaces When going down, it is sometimes possible for us not to ifconfig down the interface or reset the MMS context IPv4 address propertly --- src/gprs.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gprs.c b/src/gprs.c index 0c709ad6..9d6e8297 100644 --- a/src/gprs.c +++ b/src/gprs.c @@ -1362,6 +1362,16 @@ static gboolean context_dbus_unregister(struct pri_context *ctx) DBusConnection *conn = ofono_dbus_get_connection(); char path[256]; + if (ctx->active == TRUE) { + const char *interface = + ctx->context_driver->settings->interface; + + if (ctx->type == OFONO_GPRS_CONTEXT_TYPE_MMS) + pri_set_ipv4_addr(interface, NULL); + + pri_ifupdown(interface, FALSE); + } + strcpy(path, ctx->path); idmap_put(ctx->gprs->pid_map, ctx->id);