Search Linux Wireless

Re: [PATCH 2.6.39] mac80211: always clear PS filtering for non-AP interfaces

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

 



On Friday 06 May 2011 02:41:14 Felix Fietkau wrote:
> PS filtering is only useful in AP mode and by setting the flags in mac80211,
> vif mode checks do not have to be added to every single driver supporting
> this.
> Fixes part of a regression introduced in commit 93ae2dd2
> "ath9k: assign keycache slots to unencrypted stations"
> 
> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
> Reported-by: Ben Greear <greearb@xxxxxxxxxxxxxxx>
> ---
>  net/mac80211/tx.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
> index e1a39ed..b301216 100644
> --- a/net/mac80211/tx.c
> +++ b/net/mac80211/tx.c
> @@ -1267,6 +1267,9 @@ ieee80211_tx_prepare(struct ieee80211_sub_if_data *sdata,
>  		info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
>  	else if (test_and_clear_sta_flags(tx->sta, WLAN_STA_CLEAR_PS_FILT))
>  		info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
> +	else if (sdata->vif.type != NL80211_IFTYPE_AP &&
> +	         sdata->vif.type != NL80211_IFTYPE_AP_VLAN)
> +		info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
>  
>  	hdrlen = ieee80211_hdrlen(hdr->frame_control);
>  	if (skb->len > hdrlen + sizeof(rfc1042_header) + 2) {
> 
uh, I think this will break p54* powersave in station mode.
But why do we set it anyway? It's not like the AP is in PS mode, right?

Regards,
	Chr
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux