- # boolean
- [ "$((($vht_cap & 16) * $rxldpc))" -eq 16 ] && \
- vht_capab="$vht_capab[RXLDPC]"
- [ "$((($vht_cap & 32) * $short_gi_80))" -eq 32 ] && \
- vht_capab="$vht_capab[SHORT-GI-80]"
- [ "$((($vht_cap & 64) * $short_gi_160))" -eq 64 ] && \
- vht_capab="$vht_capab[SHORT-GI-160]"
- [ "$((($vht_cap & 128) * $tx_stbc_2by1))" -eq 128 ] && \
- vht_capab="$vht_capab[TX-STBC-2BY1]"
- [ "$((($vht_cap & 2048) * $su_beamformer))" -eq 2048 ] && \
- vht_capab="$vht_capab[SU-BEAMFORMER]"
- [ "$((($vht_cap & 4096) * $su_beamformee))" -eq 4096 ] && \
- vht_capab="$vht_capab[SU-BEAMFORMEE]"
- [ "$((($vht_cap & 524288) * $mu_beamformer))" -eq 524288 ] && \
- vht_capab="$vht_capab[MU-BEAMFORMER]"
- [ "$((($vht_cap & 1048576) * $mu_beamformee))" -eq 1048576 ] && \
- vht_capab="$vht_capab[MU-BEAMFORMEE]"
- [ "$((($vht_cap & 2097152) * $vht_txop_ps))" -eq 2097152 ] && \
- vht_capab="$vht_capab[VHT-TXOP-PS]"
- [ "$((($vht_cap & 4194304) * $htc_vht))" -eq 4194304 ] && \
- vht_capab="$vht_capab[HTC-VHT]"
- [ "$((($vht_cap & 268435456) * $rx_antenna_pattern))" -eq 268435456 ] && \
- vht_capab="$vht_capab[RX-ANTENNA-PATTERN]"
- [ "$((($vht_cap & 536870912) * $tx_antenna_pattern))" -eq 536870912 ] && \
- vht_capab="$vht_capab[TX-ANTENNA-PATTERN]"
+ cap_rx_stbc=$((($vht_cap >> 8) & 7))
+ [ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc"
+ ht_cap_mask="$(( ($vht_cap & ~(0x700)) | ($cap_rx_stbc << 8) ))"
+
+ mac80211_add_capabilities vht_capab $vht_cap \
+ RXLDPC:0x10::$rxldpc \
+ SHORT-GI-80:0x20::$short_gi_80 \
+ SHORT-GI-160:0x40::$short_gi_160 \
+ TX-STBC-2BY1:0x80::$tx_stbc \
+ SU-BEAMFORMER:0x800::$su_beamformer \
+ SU-BEAMFORMEE:0x1000::$su_beamformee \
+ MU-BEAMFORMER:0x80000::$mu_beamformer \
+ MU-BEAMFORMEE:0x100000::$mu_beamformee \
+ VHT-TXOP-PS:0x200000::$vht_txop_ps \
+ HTC-VHT:0x400000::$htc_vht \
+ RX-ANTENNA-PATTERN:0x10000000::$rx_antenna_pattern \
+ TX-ANTENNA-PATTERN:0x20000000::$tx_antenna_pattern \
+ RX-STBC1:0x700:0x100:1 \
+ RX-STBC12:0x700:0x200:1 \
+ RX-STBC123:0x700:0x300:1 \
+ RX-STBC1234:0x700:0x400:1 \