From dc721a6ae23a62a358e9a412a645f2ec4ccda45e Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 21 Jun 2016 15:18:50 -0500 Subject: [PATCH] netdev: Set callbacks for operstate When setting operstate to dormant or down, give it a callback for debug purposes. It looks like that operstate down message does not have a chance to go out currently. --- src/netdev.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/netdev.c b/src/netdev.c index 1948a8c8..f1b23177 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -204,6 +204,20 @@ bool netdev_get_is_up(struct netdev *netdev) return netdev->up; } +static void netdev_operstate_dormant_cb(bool success, void *user_data) +{ + struct netdev *netdev = user_data; + + l_debug("netdev: %d, success: %d", netdev->index, success); +} + +static void netdev_operstate_down_cb(bool success, void *user_data) +{ + uint32_t index = L_PTR_TO_UINT(user_data); + + l_debug("netdev: %d, success: %d", index, success); +} + static void netdev_free(void *data) { struct netdev *netdev = data; @@ -224,7 +238,8 @@ static void netdev_free(void *data) netdev->eapol_io = NULL; netdev_set_linkmode_and_operstate(netdev->index, 0, IF_OPER_DOWN, - NULL, NULL); + netdev_operstate_down_cb, + L_UINT_TO_PTR(netdev->index)); l_queue_destroy(netdev->watches, l_free); @@ -1154,7 +1169,9 @@ static void netdev_get_interface_callback(struct l_genl_msg *msg, l_queue_push_tail(netdev_list, netdev); netdev_set_linkmode_and_operstate(netdev->index, 1, - IF_OPER_DORMANT, NULL, NULL); + IF_OPER_DORMANT, + netdev_operstate_dormant_cb, + netdev); l_debug("Found interface %s[%d]", netdev->name, netdev->index); device_create(wiphy, netdev);