mac80211: TDLS: don't require beaconing for AP BW
Stop downgrading TDLS chandef when reaching the AP BW. The AP provides the necessary regulatory protection in this case. This fixes https://bugzilla.kernel.org/show_bug.cgi?id=153961, which reported an infinite loop here. Reported-by: Kamil Toman <kamil.toman@gmail.com> Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
4d0bd46a4d
commit
554d072e7b
@ -333,10 +333,11 @@ ieee80211_tdls_chandef_vht_upgrade(struct ieee80211_sub_if_data *sdata,
|
|||||||
if (!uc.center_freq1)
|
if (!uc.center_freq1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* proceed to downgrade the chandef until usable or the same */
|
/* proceed to downgrade the chandef until usable or the same as AP BW */
|
||||||
while (uc.width > max_width ||
|
while (uc.width > max_width ||
|
||||||
!cfg80211_reg_can_beacon_relax(sdata->local->hw.wiphy, &uc,
|
(uc.width > sta->tdls_chandef.width &&
|
||||||
sdata->wdev.iftype))
|
!cfg80211_reg_can_beacon_relax(sdata->local->hw.wiphy, &uc,
|
||||||
|
sdata->wdev.iftype)))
|
||||||
ieee80211_chandef_downgrade(&uc);
|
ieee80211_chandef_downgrade(&uc);
|
||||||
|
|
||||||
if (!cfg80211_chandef_identical(&uc, &sta->tdls_chandef)) {
|
if (!cfg80211_chandef_identical(&uc, &sta->tdls_chandef)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user