From: Johannes Berg <[email protected]>

This isn't really a problem now, but it means that the function
has a few NULL checks that are only relevant when coming from
the initial interface added in mac80211, and that's confusing.
Just pass non-NULL (but equivalently empty) in that case and
remove all the NULL checks.

Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: Luca Coelho <[email protected]>
---
 net/mac80211/iface.c | 10 ++++------
 net/mac80211/main.c  |  4 +++-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 90ffdd9f756f..a9e08e200780 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -1800,7 +1800,7 @@ int ieee80211_if_add(struct ieee80211_local *local, const 
char *name,
                }
 
                ieee80211_assign_perm_addr(local, ndev->perm_addr, type);
-               if (params && is_valid_ether_addr(params->macaddr))
+               if (is_valid_ether_addr(params->macaddr))
                        memcpy(ndev->dev_addr, params->macaddr, ETH_ALEN);
                else
                        memcpy(ndev->dev_addr, ndev->perm_addr, ETH_ALEN);
@@ -1869,11 +1869,9 @@ int ieee80211_if_add(struct ieee80211_local *local, 
const char *name,
        ieee80211_setup_sdata(sdata, type);
 
        if (ndev) {
-               if (params) {
-                       ndev->ieee80211_ptr->use_4addr = params->use_4addr;
-                       if (type == NL80211_IFTYPE_STATION)
-                               sdata->u.mgd.use_4addr = params->use_4addr;
-               }
+               ndev->ieee80211_ptr->use_4addr = params->use_4addr;
+               if (type == NL80211_IFTYPE_STATION)
+                       sdata->u.mgd.use_4addr = params->use_4addr;
 
                ndev->features |= local->hw.netdev_features;
 
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 7b8320d4a8e4..87a729926734 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -1221,8 +1221,10 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
        /* add one default STA interface if supported */
        if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_STATION) &&
            !ieee80211_hw_check(hw, NO_AUTO_VIF)) {
+               struct vif_params params = {0};
+
                result = ieee80211_if_add(local, "wlan%d", NET_NAME_ENUM, NULL,
-                                         NL80211_IFTYPE_STATION, NULL);
+                                         NL80211_IFTYPE_STATION, &params);
                if (result)
                        wiphy_warn(local->hw.wiphy,
                                   "Failed to add default virtual iface\n");
-- 
2.19.2

Reply via email to