On Tue, 2012-09-25 at 10:56 +0530, Mahesh Palivela wrote: > > Well I think it'd be better to actually restrict/copy/update the feature > > bits correctly, this would simplify drivers. > > I am not sure on what bits to be masked. wanted to keep it as future item. > Anyways I attempted few bits below. Let me know if they are ok... > > vht_cap->cap = le16_to_cpu(vht_cap_ie->vht_cap_info) & > (sband->ht_cap.cap | err, vht_cap > ~(IEEE80211_VHT_CAP_RXLDPC | > IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE | > IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE | > IEEE80211_VHT_CAP_HTC_VHT)); I don't think that can be right. It seems to me it should be something like cap = cap_info & sband->vht_cap.cap & (MAX_MPDU_LENGTH_... | SHORT_GI_... | HTC_VHT | ... ? ) if (cap_info & SU_BEAMFORMEE_CAPABLE && sband->vht_cap.cap & SU_BEAMFORMER_CAPABLE) cap |= SU_BEAMFORMEE_CAPABLE; etc.? OTOH, this would only matter to drivers that actually support all these features, and those drivers could take care of not enabling the features if their hardware doesn't support them. However, think of a driver that is for different hardware, some that supports beamforming and some that doesn't. Then if we mask out the beamforming capability of a station if it's not locally supported, that driver could be simpler? Then again, if we don't the driver just has to check if the hardware supports it, which seems reasonable as well. Do you understand the issue? So maybe if you document it right, your original v2 patch is sufficient. Convince me :) johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html