> + if (mode == MODE_IEEE80211A) { > + ht_info->cap |= (u16)IEEE80211_HT_CAP_SUP_WIDTH; > + ht_info->cap |= (u16)IEEE80211_HT_CAP_SGI_40; > + ht_info->supp_mcs_set[4] = 0x01; > + } > + ht_info->cap |= (u16)IEEE80211_HT_CAP_GRN_FLD; > + ht_info->cap |= (u16)IEEE80211_HT_CAP_SGI_20; > + ht_info->cap |= (u16)(IEEE80211_HT_CAP_MIMO_PS & > + (IWL_MIMO_PS_NONE << 2)); > + > + ht_info->ampdu_factor = CFG_HT_RX_AMPDU_FACTOR_DEF; > + ht_info->ampdu_density = CFG_HT_MPDU_DENSITY_DEF; > + > + ht_info->supp_mcs_set[0] = 0xFF; > + ht_info->supp_mcs_set[1] = 0xFF; Good to see an example. I see you're actually using the IEEE80211A mode as "5 GHz" and IEEE80211G as "2.4 GHz". Big thanks for doing it that way rather than adding new modes or some weird stuff, this makes it a lot simpler to abstract it away into bands. It'll probably look differently with no ht_info part of a band but rather all the information clustered into a single structure, but this looks pretty good to me given the current crappy infrastructure. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part