diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-05-11 13:24:04 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-05-11 13:29:33 -0500 |
commit | 543b54a34e2c709c2c4d09a29a0d2676b1bb2c1f (patch) | |
tree | b0a404d294db0137deedab547ce88776d1f4338c /src | |
parent | 74d355078879353d88668cce4f957db434fbdac5 (diff) | |
download | ofono-543b54a34e2c709c2c4d09a29a0d2676b1bb2c1f.tar.bz2 |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/gprs.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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); |