mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-01-03 10:32:33 +01:00
netdev: update use of l_rtnl_set_mac
This API was updated to take an extra boolean which will automatically power up the device while changing the MAC address. Since this is what IWD does anyways we can avoid the need for an intermediate callback and go right into netdev_initial_up_cb.
This commit is contained in:
parent
eb7845ec29
commit
421af060f8
18
src/netdev.c
18
src/netdev.c
@ -4137,20 +4137,6 @@ static void netdev_initial_up_cb(int error, uint16_t type, const void *data,
|
||||
netdev->events_ready = true;
|
||||
}
|
||||
|
||||
static void netdev_set_mac_cb(int error, uint16_t type, const void *data,
|
||||
uint32_t len, void *user_data)
|
||||
{
|
||||
struct netdev *netdev = user_data;
|
||||
|
||||
if (error)
|
||||
l_error("Error setting mac address on %d: %s", netdev->index,
|
||||
strerror(-error));
|
||||
|
||||
netdev->set_powered_cmd_id =
|
||||
l_rtnl_set_powered(rtnl, netdev->index, true,
|
||||
netdev_initial_up_cb, netdev, NULL);
|
||||
}
|
||||
|
||||
static bool netdev_check_set_mac(struct netdev *netdev)
|
||||
{
|
||||
if (util_mem_is_zero(netdev->set_mac_once, 6))
|
||||
@ -4159,8 +4145,8 @@ static bool netdev_check_set_mac(struct netdev *netdev)
|
||||
l_debug("Setting initial address on ifindex: %d to: " MAC,
|
||||
netdev->index, MAC_STR(netdev->set_mac_once));
|
||||
netdev->set_powered_cmd_id =
|
||||
l_rtnl_set_mac(rtnl, netdev->index, netdev->set_mac_once,
|
||||
netdev_set_mac_cb, netdev, NULL);
|
||||
l_rtnl_set_mac(rtnl, netdev->index, netdev->set_mac_once, true,
|
||||
netdev_initial_up_cb, netdev, NULL);
|
||||
memset(netdev->set_mac_once, 0, 6);
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user