Hi Marcel:
Below patch can be used to fix bug 3076.
Currently, the service disconnect can only work for the one based on network,
so Ethernet can not be disconnected. I use connman_device_set_carrier() to set
carrier as FALSE to disconnect ethernet service. I think it is almost like the
Ethernet cable is unplugged. I have verified that it can work fine together
with carrick.
Please review it.
diff --git a/src/device.c b/src/device.c
index cd9105d..bf72a69 100644
--- a/src/device.c
+++ b/src/device.c
@@ -1332,6 +1332,8 @@ int __connman_device_connect(struct connman_device
*device)
if (device->disconnected == FALSE)
return -EINVAL;
+ if (device->mode == CONNMAN_DEVICE_MODE_TRANSPORT_IP)
+ connman_device_set_carrier(device, TRUE);
return 0;
}
@@ -1353,6 +1355,8 @@ int __connman_device_disconnect(struct connman_device
*device)
__connman_network_disconnect(network);
}
+ if (device->mode == CONNMAN_DEVICE_MODE_TRANSPORT_IP)
+ connman_device_set_carrier(device, FALSE);
return 0;
}
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman