mirror of https://gitee.com/openkylin/linux.git
mac80211: never pass NULL params to ieee80211_if_add()
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 <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
8020919a9b
commit
dd665d23c1
|
@ -1799,7 +1799,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);
|
||||
|
@ -1868,11 +1868,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;
|
||||
|
||||
|
|
|
@ -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, ¶ms);
|
||||
if (result)
|
||||
wiphy_warn(local->hw.wiphy,
|
||||
"Failed to add default virtual iface\n");
|
||||
|
|
Loading…
Reference in New Issue