diff options
-rw-r--r-- | include/linux/ieee80211.h | 8 | ||||
-rw-r--r-- | net/mac80211/vht.c | 7 |
2 files changed, 9 insertions, 6 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index 8c3b26a21574..776cbb80d098 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -1411,8 +1411,12 @@ struct ieee80211_vht_operation { | |||
1411 | #define IEEE80211_VHT_CAP_RXSTBC_MASK 0x00000700 | 1411 | #define IEEE80211_VHT_CAP_RXSTBC_MASK 0x00000700 |
1412 | #define IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE 0x00000800 | 1412 | #define IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE 0x00000800 |
1413 | #define IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE 0x00001000 | 1413 | #define IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE 0x00001000 |
1414 | #define IEEE80211_VHT_CAP_BEAMFORMEE_STS_MAX 0x0000e000 | 1414 | #define IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT 13 |
1415 | #define IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MAX 0x00070000 | 1415 | #define IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK \ |
1416 | (7 << IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT) | ||
1417 | #define IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT 16 | ||
1418 | #define IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MASK \ | ||
1419 | (7 << IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT) | ||
1416 | #define IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE 0x00080000 | 1420 | #define IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE 0x00080000 |
1417 | #define IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE 0x00100000 | 1421 | #define IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE 0x00100000 |
1418 | #define IEEE80211_VHT_CAP_VHT_TXOP_PS 0x00200000 | 1422 | #define IEEE80211_VHT_CAP_VHT_TXOP_PS 0x00200000 |
diff --git a/net/mac80211/vht.c b/net/mac80211/vht.c index de0112785aae..d75f35c6e1a0 100644 --- a/net/mac80211/vht.c +++ b/net/mac80211/vht.c | |||
@@ -182,16 +182,15 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(struct ieee80211_sub_if_data *sdata, | |||
182 | IEEE80211_VHT_CAP_SHORT_GI_160); | 182 | IEEE80211_VHT_CAP_SHORT_GI_160); |
183 | 183 | ||
184 | /* remaining ones */ | 184 | /* remaining ones */ |
185 | if (own_cap.cap & IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE) { | 185 | if (own_cap.cap & IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE) |
186 | vht_cap->cap |= cap_info & | 186 | vht_cap->cap |= cap_info & |
187 | (IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE | | 187 | (IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE | |
188 | IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MAX); | 188 | IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MASK); |
189 | } | ||
190 | 189 | ||
191 | if (own_cap.cap & IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE) | 190 | if (own_cap.cap & IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE) |
192 | vht_cap->cap |= cap_info & | 191 | vht_cap->cap |= cap_info & |
193 | (IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE | | 192 | (IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE | |
194 | IEEE80211_VHT_CAP_BEAMFORMEE_STS_MAX); | 193 | IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK); |
195 | 194 | ||
196 | if (own_cap.cap & IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE) | 195 | if (own_cap.cap & IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE) |
197 | vht_cap->cap |= cap_info & | 196 | vht_cap->cap |= cap_info & |