On 2011-05-05 10:44 PM, Ben Greear wrote: > I bisected the problem I was having with ath9k STA configured for WPA > not being able to authenticate. I'm using nohwcrypt=1, which may > be why no one else sees it. > > According to bisect, this is the first bad commit: > > commit 5519541d5a5f19893546883547e2f0f2e5934df7 > Author: Felix Fietkau<nbd@xxxxxxxxxxx> > Date: Sun Apr 17 23:28:09 2011 +0200 > > ath9k: fix powersave frame filtering/buffering in AP mode > > This patch fixes a long standing issue of pending packets in the queue being > sent (and retransmitted many times) to sleeping stations. > This was made worse by aggregation through driver-internal retransmitting > of A-MDPU subframes. > Previously the hardware tx filter was cleared unconditionally for every > single packet - with this patch it uses the IEEE80211_TX_CTL_CLEAR_PS_FILT > for unaggregated frames. > A sta_notify driver op is added to stop aggregation for stations when they > enter powersave mode. Subframes stay buffered inside the driver, to ensure > that the BlockAck window keeps a sane state. > Since the driver uses software aggregation, the clearing of the tx filter > needs to be handled by the driver instead of mac80211 for aggregated frames. > > Signed-off-by: Felix Fietkau<nbd@xxxxxxxxxxx> > Signed-off-by: John W. Linville<linville@xxxxxxxxxxxxx> > > > I'll be happy to test patches, it seems very easy to reproduce on > my setup. How about this? --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1270,6 +1270,9 @@ ieee80211_tx_prepare(struct ieee80211_su 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) { -- 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