Search Linux Wireless

Re: [PATCH 3/3][RFC] nl80211/mac80211: Accept multiple RSSI thresholds for CQM

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

 



> + * @set_cqm_rssi_range_config: Configure two RSSI thresholds in the
> > + *	connection quality monitor.  Even if the driver implements both the
> > + *	single threshold and low/high thresholds mechanisms, it should assume
> + *	only one is active at any time.

Why would a driver still (be allowed to!) implement both?

> +	int	(*set_cqm_rssi_range_config)(struct wiphy *wiphy,
> +					     struct net_device *dev,
> +					     s32 rssi_low, s32 rssi_high);

Seems there still should be a hysteresis? Or am I misunderstanding the
intent here? I.e. isn't it meant to report low/medium/high later?

> diff --git a/include/net/mac80211.h b/include/net/mac80211.h
> index 33026e1..7da1056 100644
> --- a/include/net/mac80211.h
> +++ b/include/net/mac80211.h

I'd prefer you split cfg80211 and mac80211 patches, i.e. provide the
new API first and then implement it in mac80211 separately.

> +void cfg80211_cqm_config_free(struct wireless_dev *wdev)
> +{
> +	if (!wdev->cqm_config)
> +		return;
> +
> +	kfree(wdev->cqm_config->rssi_thresholds);
> +	kfree(wdev->cqm_config);
> +	wdev->cqm_config = NULL;
> +}

You can save this complexity by just making the cqm_config struct have
all the thresholds inside itself - pretty easy to allocate by just
counting them first.

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