]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blobdiff - net/mac802154/iface.c
mac802154: cleanup ieee802154_netdev_to_extended_addr
[mirror_ubuntu-eoan-kernel.git] / net / mac802154 / iface.c
index f9ed608aa26034e965c9f26607e13ee8abf1eddd..a1aa09b03d127ddf2c84fd0f890cc7582771b073 100644 (file)
@@ -117,7 +117,7 @@ static int mac802154_wpan_mac_addr(struct net_device *dev, void *p)
        if (netif_running(dev))
                return -EBUSY;
 
-       extended_addr = ieee802154_netdev_to_extended_addr(addr->sa_data);
+       ieee802154_be64_to_le64(&extended_addr, addr->sa_data);
        if (!ieee802154_is_valid_extended_addr(extended_addr))
                return -EINVAL;
 
@@ -136,10 +136,11 @@ static int mac802154_slave_open(struct net_device *dev)
 
        ASSERT_RTNL();
 
-       if (sdata->type == IEEE802154_DEV_WPAN) {
+       if (sdata->vif.type == IEEE802154_DEV_WPAN) {
                mutex_lock(&sdata->local->iflist_mtx);
                list_for_each_entry(subif, &sdata->local->interfaces, list) {
-                       if (subif != sdata && subif->type == sdata->type &&
+                       if (subif != sdata &&
+                           subif->vif.type == sdata->vif.type &&
                            ieee802154_sdata_running(subif)) {
                                mutex_unlock(&sdata->local->iflist_mtx);
                                return -EBUSY;
@@ -397,7 +398,7 @@ static int
 ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata, int type)
 {
        /* set some type-dependent values */
-       sdata->type = type;
+       sdata->vif.type = type;
 
        get_random_bytes(&sdata->bsn, 1);
        get_random_bytes(&sdata->dsn, 1);
@@ -428,7 +429,6 @@ ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata, int type)
        case IEEE802154_DEV_MONITOR:
                sdata->dev->destructor = free_netdev;
                sdata->dev->netdev_ops = &mac802154_monitor_ops;
-               sdata->dev->ml_priv = &mac802154_mlme_reduced;
                sdata->promisuous_mode = true;
                break;
        default:
@@ -448,8 +448,8 @@ ieee802154_if_add(struct ieee802154_local *local, const char *name,
 
        ASSERT_RTNL();
 
-       ndev = alloc_netdev(sizeof(*sdata), name, NET_NAME_UNKNOWN,
-                           ieee802154_if_setup);
+       ndev = alloc_netdev(sizeof(*sdata) + local->hw.vif_data_size, name,
+                           NET_NAME_UNKNOWN, ieee802154_if_setup);
        if (!ndev)
                return ERR_PTR(-ENOMEM);