Merge branch 'next/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[firefly-linux-kernel-4.4.55.git] / net / mac80211 / iface.c
index 49d4f869e0bc74cfcd397558b2283440da761c1d..cd5fb40d3fd4bbb7579d21e8a37a1e27a1e1ffe4 100644 (file)
@@ -363,8 +363,7 @@ static int ieee80211_open(struct net_device *dev)
        int err;
 
        /* fail early if user set an invalid address */
-       if (!is_zero_ether_addr(dev->dev_addr) &&
-           !is_valid_ether_addr(dev->dev_addr))
+       if (!is_valid_ether_addr(dev->dev_addr))
                return -EADDRNOTAVAIL;
 
        err = ieee80211_check_concurrent_iface(sdata, sdata->vif.type);
@@ -1130,8 +1129,8 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name,
 
        ASSERT_RTNL();
 
-       ndev = alloc_netdev_mq(sizeof(*sdata) + local->hw.vif_data_size,
-                              name, ieee80211_if_setup, local->hw.queues);
+       ndev = alloc_netdev_mqs(sizeof(*sdata) + local->hw.vif_data_size,
+                               name, ieee80211_if_setup, local->hw.queues, 1);
        if (!ndev)
                return -ENOMEM;
        dev_net_set(ndev, wiphy_net(local->hw.wiphy));
@@ -1145,6 +1144,10 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name,
                                + IEEE80211_ENCRYPT_HEADROOM;
        ndev->needed_tailroom = IEEE80211_ENCRYPT_TAILROOM;
 
+       ret = dev_alloc_name(ndev, ndev->name);
+       if (ret < 0)
+               goto fail;
+
        ieee80211_assign_perm_addr(local, ndev, type);
        memcpy(ndev->dev_addr, ndev->perm_addr, ETH_ALEN);
        SET_NETDEV_DEV(ndev, wiphy_dev(local->hw.wiphy));