From: Lucio Maciel <[email protected]>

Calling connman_device_set_powered() on ethernet plugin
os causing a crash calling device->driver->scan since
device->driver is NULL

connmand[11583]: Aborting (signal 11)
connmand[11583]: ++++++++ backtrace ++++++++
connmand[11583]: [0]: [0xb78a1400]
connmand[11583]: [1]: /usr/lib/connman/plugins/ethernet.so(+0xe90)
[0xb75c2e90]
connmand[11583]: [2]: connmand(connman_rtnl_add_newlink_watch+0xde)
[0x80858ae]
connmand[11583]: [3]: /usr/lib/connman/plugins/ethernet.so(+0x1031)
[0xb75c3031]connmand[11583]: [4]: connmand() [0x806caac]
connmand[11583]: [5]: connmand() [0x806a1ae]
connmand[11583]: [6]: connmand() [0x806a2f1]
connmand[11583]: [7]: connmand(connman_element_register+0x10f)
[0x806a4fc]
connmand[11583]: [8]: connmand(connman_device_register+0x32) [0x806c95f]
---
 plugins/ethernet.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/plugins/ethernet.c b/plugins/ethernet.c
index 797fc7c..a08ea1d 100644
--- a/plugins/ethernet.c
+++ b/plugins/ethernet.c
@@ -116,13 +116,10 @@ static void ethernet_newlink(unsigned flags, unsigned 
change, void *user_data)
        DBG("index %d flags %d change %d", ethernet->index, flags, change);
 
        if ((ethernet->flags & IFF_UP) != (flags & IFF_UP)) {
-               if (flags & IFF_UP) {
+               if (flags & IFF_UP)
                        DBG("power on");
-                       connman_device_set_powered(device, TRUE);
-               } else {
+               else
                        DBG("power off");
-                       connman_device_set_powered(device, FALSE);
-               }
        }
 
        if ((ethernet->flags & IFF_LOWER_UP) != (flags & IFF_LOWER_UP)) {
-- 
1.7.2.3

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to