On Tue, 2018-03-27 at 14:12 +0530, Vasanthakumar Thiagarajan wrote:
>
> +u16 ieee80211_get_noack_map(struct ieee80211_sub_if_data *sdata, const u8
> *mac)
> +{
> + struct sta_info *sta;
> + u16 noack_map = 0;
> +
> + /* Retrieve per-station noack_map config for the receiver, if any */
> +
> + rcu_read_lock();
> +
> + sta = sta_info_get(sdata, mac);
> + if (!sta) {
> + rcu_read_unlock();
> + return noack_map;
> + }
> +
> + noack_map = sta->noack_map;
> +
> + rcu_read_unlock();
> +
> + if (!noack_map)
> + noack_map = sdata->noack_map;
So this has an interesting corner case - should it be possible to have a
default noack_map that's non-zero, but override it with 0 for a specific
peer? It seems that it should be, which makes this code wrong.
johannes