|
@@ -386,6 +386,16 @@ enum ieee80211_sta_rx_bandwidth ieee80211_sta_cur_vht_bw(struct sta_info *sta)
|
|
|
|
|
|
bw = ieee80211_sta_cap_rx_bw(sta);
|
|
|
bw = min(bw, sta->cur_max_bandwidth);
|
|
|
+
|
|
|
+ /* Don't consider AP's bandwidth for TDLS peers, section 11.23.1 of
|
|
|
+ * IEEE80211-2016 specification makes higher bandwidth operation
|
|
|
+ * possible on the TDLS link if the peers have wider bandwidth
|
|
|
+ * capability.
|
|
|
+ */
|
|
|
+ if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
|
|
|
+ test_sta_flag(sta, WLAN_STA_TDLS_WIDER_BW))
|
|
|
+ return bw;
|
|
|
+
|
|
|
bw = min(bw, ieee80211_chan_width_to_rx_bw(bss_width));
|
|
|
|
|
|
return bw;
|