const char *str = __connman_iface_state2string(iface->state);
enum connman_iface_state state = iface->state;
- DBG("%s", str);
+ DBG("iface %p state %s", iface, str);
g_dbus_emit_signal(connection, iface->path,
CONNMAN_IFACE_INTERFACE, "StateChanged",
case CONNMAN_IFACE_STATE_ENABLED:
__connman_dhcp_release(iface);
+ connman_iface_clear_ipv4(iface);
if (iface->type == CONNMAN_IFACE_TYPE_80211) {
state = CONNMAN_IFACE_STATE_SCANNING;
if (iface->driver->connect) {
case CONNMAN_IFACE_POLICY_OFF:
iface->state = CONNMAN_IFACE_STATE_SHUTDOWN;
state_changed(iface);
+ connman_iface_clear_ipv4(iface);
__connman_iface_down(iface);
break;
case CONNMAN_IFACE_POLICY_AUTO:
__connman_iface_up(iface);
+ state_changed(iface);
break;
default:
switch (iface->state) {
case CONNMAN_IFACE_STATE_OFF:
+ case CONNMAN_IFACE_STATE_CARRIER:
iface->state = CONNMAN_IFACE_STATE_ENABLED;
state_changed(iface);
break;
DBG("iface %p state %d", iface, iface->state);
switch (iface->state) {
+ case CONNMAN_IFACE_STATE_CARRIER:
case CONNMAN_IFACE_STATE_CONFIGURE:
case CONNMAN_IFACE_STATE_READY:
iface->state = CONNMAN_IFACE_STATE_ENABLED;