Re: [PATCH 5/9] AP: Validate VHT config for 6 GHz Band Capabilities

Jouni Malinen <[email protected]> Sun, 17 May 2020 16:51:56 +0300
Newsgroups gmane.linux.drivers.hostap
Message-ID <[email protected]>
On Fri, Apr 24, 2020 at 03:45:38PM -0700, Rajkumar Manoharan wrote:
> Following VHT Capabilities are mandatory for HE 6 GHz band capabilities
> and corresponding configs should be validated for 6 GHz band.
> 
> * VHT_CAP_MAX_MPDU_LENGTH_MASK
> * VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MAX
> * VHT_CAP_RX_ANTENNA_PATTERN
> * VHT_CAP_TX_ANTENNA_PATTERN

This sounds quite strange.. VHT is explicitly not used on the 6 GHz
band. Why would we check VHT capabilities when operating on the 6 GHz
band?

> diff --git a/src/ap/hw_features.c b/src/ap/hw_features.c
> @@ -671,8 +671,17 @@ int hostapd_check_ht_capab(struct hostapd_iface *iface)

And why would this check be in a function that is checking HT
capabilities? HT is also explicitly not used on the 6 GHz band and
checking VHT parameters in a function for checking HT parameters does
not sound correct.

>  {
>  	int ret;
>  
> -	if (is_6ghz_freq(iface->freq))
> +	if (is_6ghz_freq(iface->freq)) {
> +		/*
> +		 * VHT capabilities needed for HE 6 GHz Band Capabilities
> +		 * needs to be validated against config.
> +		 */
> +#ifdef CONFIG_IEEE80211AC
> +		if (!ieee80211ac_supported_vht_capab(iface))
> +			return -1;
> +#endif
>  		return 0;
> +	}
>  	if (!iface->conf->ieee80211n)
>  		return 0;

This cannot really be logically correct and certainly not the correct
place for doing this check.

-- 
Jouni Malinen                                            PGP id EFC895FA