diff options
-rwxr-xr-x | src/service.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/service.c b/src/service.c index f77f0339..1eae3807 100755 --- a/src/service.c +++ b/src/service.c @@ -4040,9 +4040,11 @@ static DBusMessage *set_property(DBusConnection *conn, if (err < 0) { if (is_connected_state(service, state) || is_connecting_state(service, state)) { - __connman_network_enable_ipconfig(service->network, + if (type == CONNMAN_IPCONFIG_TYPE_IPV4) + __connman_network_enable_ipconfig(service->network, service->ipconfig_ipv4); - __connman_network_enable_ipconfig(service->network, + else + __connman_network_enable_ipconfig(service->network, service->ipconfig_ipv6); } @@ -4055,10 +4057,12 @@ static DBusMessage *set_property(DBusConnection *conn, ipv6_configuration_changed(service); if (is_connecting(service) || is_connected(service)) { - __connman_network_enable_ipconfig(service->network, - service->ipconfig_ipv4); - __connman_network_enable_ipconfig(service->network, - service->ipconfig_ipv6); + if (type == CONNMAN_IPCONFIG_TYPE_IPV4) + __connman_network_enable_ipconfig(service->network, + service->ipconfig_ipv4); + else + __connman_network_enable_ipconfig(service->network, + service->ipconfig_ipv6); } service_save(service); |