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

Reply via email to