On Mon, Jan 21, 2019 at 12:15:59PM +0530, Sarada Prasanna Garnayak wrote: > If we don't support RX LDPC, mask out LDPC for TX in the STA's VHT caps. Could you please clarify why this is needed (i.e., why the current implementation does not already clear the bit)? > diff --git a/src/ap/ieee802_11_ht.c b/src/ap/ieee802_11_ht.c > @@ -542,6 +542,13 @@ void hostapd_get_ht_capab(struct hostapd_data *hapd, > + /* > + * if we don't support RX LDPC, mask out LDPC for TX in > + * the STA's HT caps > + */ > + if (!(hapd->iconf->ht_capab & HT_CAP_INFO_LDPC_CODING_CAP)) > + cap &= ~HT_CAP_INFO_LDPC_CODING_CAP; That B0 is "LDPC Coding Capability", not a TX-specific or RX-specific value.. Furthermore, this clearing of HT_CAP_INFO_LDPC_CODING_CAP happens already couple of lines above in this function: cap &= (hapd->iconf->ht_capab | HT_CAP_INFO_RX_STBC_MASK | HT_CAP_INFO_TX_STBC | HT_CAP_INFO_SMPS_MASK); > diff --git a/src/ap/ieee802_11_vht.c b/src/ap/ieee802_11_vht.c > @@ -513,5 +513,12 @@ void hostapd_get_vht_capab(struct hostapd_data *hapd, > + /* > + * if we don't support RX LDPC, mask out LDPC for TX in > + * the STA's VHT caps > + */ > + if (!(own_cap & VHT_CAP_RXLDPC)) > + cap &= ~VHT_CAP_RXLDPC; Isn't this bit already cleared above in the same function? cap &= ~sym_caps | (own_cap & sym_caps); Furthermore, that comment about "LDPC for TX" sounds confusing since the bit in question is "Rx LDPC", i.e., indication of support for received LDPC encoded packets.. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap