Re: Fwd: p54: testing AP mode: cannot switch to master mode
From: Stefan Steuerwald <hidden>
Date: 2008-11-24 13:11:51
Hello Johannes, thank you for providing this patch. Tested, but I'm not sure about the result. I THINK the frequency of my app-level timeouts is reduced, but I'm not really sure. In any case it doesn't break anything for me. I'm investigating this reason for my timeouts: http://marc.info/?l=linux-wireless&m=122727674810057&w=2 and have better log info to post, will followup there. Thank you, Stefan. 2008/11/23 Johannes Berg [off-list ref]:
quoted hunk ↗ jump to hunk
Can you trhis this patch? Also, next time please don't filter the captures so much, it made it hard to diagnose the problem. johannes Subject: mac80211: only transition STAs ps->wake on data frames When a station goes to PS mode to scan, it will then send probe requests without the PS bit set. mac80211 will take that as indication that the station woke up, but it didn't. This patch changes mac80211 to only consider doze->wake transitions on data frames to to fix that issue. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> --- net/mac80211/rx.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)--- everything.orig/net/mac80211/rx.c 2008-11-23 14:58:21.000000000 +0100 +++ everything/net/mac80211/rx.c 2008-11-23 14:59:58.000000000 +0100@@ -750,9 +750,11 @@ ieee80211_rx_h_sta_process(struct ieee80 /* Change STA power saving mode only in the end of a frame * exchange sequence */ if (test_sta_flags(sta, WLAN_STA_PS) && - !ieee80211_has_pm(hdr->frame_control)) - rx->sent_ps_buffered += ap_sta_ps_end(sta); - else if (!test_sta_flags(sta, WLAN_STA_PS) && + !ieee80211_has_pm(hdr->frame_control)) { + /* ignore PS bit on non-data frames */ + if (ieee80211_is_data(hdr->frame_control)) + rx->sent_ps_buffered += ap_sta_ps_end(sta); + } else if (!test_sta_flags(sta, WLAN_STA_PS) && ieee80211_has_pm(hdr->frame_control)) ap_sta_ps_start(sta); }