Search Linux Wireless

Re: [PATCHv6 6/9] mac80211: Add api to support configuring TID specific configuration

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

 



On Tue, 2019-06-18 at 10:57 +0530, Tamizh chelvam wrote:
> 
> @@ -1626,6 +1635,14 @@ struct ieee80211_vif {
>  
>  	bool txqs_stopped[IEEE80211_NUM_ACS];
>  
> +	int noack[IEEE80211_TID_MAX];
> +	int retry_short[IEEE80211_TID_MAX];
> +	int retry_long[IEEE80211_TID_MAX];
> +	int ampdu[IEEE80211_TID_MAX];
> +	u8 rate_ctrl[IEEE80211_TID_MAX];
> +	u32 rate_code[IEEE80211_TID_MAX];
> +	u8 rtscts[IEEE80211_TID_MAX];

This is quite a bit of data (176 bytes), can we make it up to the driver
to store it if supported, instead?

> @@ -2004,6 +2027,13 @@ struct ieee80211_sta {
>  
>  	struct ieee80211_txq *txq[IEEE80211_NUM_TIDS + 1];
>  
> +	int noack[IEEE80211_TID_MAX];
> +	int retry_short[IEEE80211_TID_MAX];
> +	int retry_long[IEEE80211_TID_MAX];
> +	int ampdu[IEEE80211_TID_MAX];
> +	u8 rate_ctrl[IEEE80211_TID_MAX];
> +	u8 rtscts[IEEE80211_TID_MAX];

same here.

> +static int ieee80211_set_tid_config(struct wiphy *wiphy,
> +				    struct net_device *dev,
> +				    struct ieee80211_tid_config *tid_conf)
> +{
> +	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
> +	struct sta_info *sta;
> +	int ret;
> +
> +	if (!sdata->local->ops->set_tid_config)
> +		return -EOPNOTSUPP;
> +
> +	if (!tid_conf->peer)
> +		return drv_set_tid_config(sdata->local, sdata, NULL, tid_conf);
> +
> +	mutex_lock(&sdata->local->sta_mtx);
> +
> +	sta = sta_info_get_bss(sdata, tid_conf->peer);
> +	if (!sta) {
> +		mutex_unlock(&sdata->local->sta_mtx);
> +		return -ENOENT;
> +	}
> +
> +	ret = drv_set_tid_config(sdata->local, sdata, &sta->sta, tid_conf);
> +	mutex_unlock(&sdata->local->sta_mtx);
> +	return ret;
> +}

and you're not actually using the data anyway?

johannes




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

  Powered by Linux