diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 606b1b2e4123..e97ed85b7723 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -1787,22 +1787,12 @@ static int sta_link_apply_parameters(struct ieee80211_local *local, rcu_dereference_protected(sta->link[link_id], lockdep_is_held(&local->hw.wiphy->mtx)); - /* - * If there are no changes, then accept a link that doesn't exist, - * unless it's a new link. - */ - if (params->link_id < 0 && !new_link && - !params->link_mac && !params->txpwr_set && - !params->supported_rates_len && - !params->ht_capa && !params->vht_capa && - !params->he_capa && !params->eht_capa && - !params->opmode_notif_used) - return 0; - + printk("%p, %p, %d\n", link, link_sta, new_link); if (!link || !link_sta) return -EINVAL; sband = ieee80211_get_link_sband(link); + printk("%p\n", sband); if (!sband) return -EINVAL; @@ -1812,11 +1802,23 @@ static int sta_link_apply_parameters(struct ieee80211_local *local, memcpy(link_sta->pub->addr, params->link_mac, ETH_ALEN); } else if (!ether_addr_equal(link_sta->addr, params->link_mac)) { + printk("%s\n", __func__); return -EINVAL; } } else if (new_link) { return -EINVAL; } + /* + * If there are no changes, then accept a link that doesn't exist, + * unless it's a new link. + */ + if (params->link_id < 0 && !new_link && + !params->link_mac && !params->txpwr_set && + !params->supported_rates_len && + !params->ht_capa && !params->vht_capa && + !params->he_capa && !params->eht_capa && + !params->opmode_notif_used) + return 0; if (params->txpwr_set) { link_sta->pub->txpwr.type = params->txpwr.type; @@ -1982,6 +1985,10 @@ static int sta_apply_parameters(struct ieee80211_local *local, if (params->listen_interval >= 0) sta->listen_interval = params->listen_interval; + printk("b, stp: %d, sa: %d, src: %d\n", + test_sta_flag(sta, WLAN_STA_TDLS_PEER), + test_sta_flag(sta, WLAN_STA_ASSOC), + test_sta_flag(sta, WLAN_STA_RATE_CONTROL)); ret = sta_link_apply_parameters(local, sta, false, ¶ms->link_sta_params); if (ret) @@ -1996,6 +2003,10 @@ static int sta_apply_parameters(struct ieee80211_local *local, if (params->airtime_weight) sta->airtime_weight = params->airtime_weight; + printk("a, stp: %d, sa: %d, src: %d\n", + test_sta_flag(sta, WLAN_STA_TDLS_PEER), + test_sta_flag(sta, WLAN_STA_ASSOC), + test_sta_flag(sta, WLAN_STA_RATE_CONTROL)); /* set the STA state after all sta info from usermode has been set */ if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) || set & BIT(NL80211_STA_FLAG_ASSOCIATED)) {