Search Linux Wireless

Re: [PATCH v3] cfg80211: Add support to configure a beacon data rate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> +static u32 rateset_to_mask(struct ieee80211_supported_band *sband,
> +			   u8 *rates, u8 rates_len)


All of these just move around, right?

> +	if (info->attrs[NL80211_ATTR_TX_RATES]) {
> +		u32 rate, count_ht, count_vht, i;
> +		enum nl80211_band band;
> +
> +		err = nl80211_parse_tx_bitrate_mask(info,
> &params.beacon_rate);
> +		if (err)
> +			return err;
> +
> +		band = params.chandef.chan->band;
> +		rate = params.beacon_rate.control[band].legacy;
> +		/* Allow only one rate */
> +		if (rate) {
> +			if (rate & (rate - 1))
> +				return -EINVAL;
> +		} else {
> +			count_ht = 0;
> +			for (i = 0; i < IEEE80211_HT_MCS_MASK_LEN;
> i++) {
> +				if
> (params.beacon_rate.control[band].ht_mcs[i]) {
> +					count_ht++;
> +					if (count_ht > 1)
> +						return -EINVAL;
> +				}
> +			}
> +			count_vht = 0;
> +			for (i = 0; i < NL80211_VHT_NSS_MAX; i++) {
> +				if
> (params.beacon_rate.control[band].vht_mcs[i]) {
> +					count_vht++;
> +					if (count_vht > 1)
> +						return -EINVAL;
> +				}
> +			}
> +			if (!count_ht && !count_vht)
> +				return -EINVAL;
> +		}
> +	}
> 
I think it would be good to split out this "single rate" thing into a
helper function.

Thanks,
johannes



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux