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

Reply via email to