Skip to content

Commit ef41a2c

Browse files
committed
Merge tag 'mac80211-for-davem-2015-10-13' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
Johannes Berg says: ==================== Like last time, we have two small fixes: * fast-xmit was not doing powersave filter clearing correctly, disable fast-xmit while any such operations are still pending * a debugfs file was broken due to some infrastructure changes ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2 parents 0f8b8e2 + 4633dfc commit ef41a2c

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

net/mac80211/debugfs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ static ssize_t hwflags_read(struct file *file, char __user *user_buf,
149149

150150
for (i = 0; i < NUM_IEEE80211_HW_FLAGS; i++) {
151151
if (test_bit(i, local->hw.flags))
152-
pos += scnprintf(pos, end - pos, "%s",
152+
pos += scnprintf(pos, end - pos, "%s\n",
153153
hw_flag_names[i]);
154154
}
155155

net/mac80211/status.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ static void ieee80211_handle_filtered_frame(struct ieee80211_local *local,
101101
* when it wakes up for the next time.
102102
*/
103103
set_sta_flag(sta, WLAN_STA_CLEAR_PS_FILT);
104+
ieee80211_clear_fast_xmit(sta);
104105

105106
/*
106107
* This code races in the following way:

net/mac80211/tx.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,8 +1218,10 @@ ieee80211_tx_prepare(struct ieee80211_sub_if_data *sdata,
12181218

12191219
if (!tx->sta)
12201220
info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
1221-
else if (test_and_clear_sta_flag(tx->sta, WLAN_STA_CLEAR_PS_FILT))
1221+
else if (test_and_clear_sta_flag(tx->sta, WLAN_STA_CLEAR_PS_FILT)) {
12221222
info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
1223+
ieee80211_check_fast_xmit(tx->sta);
1224+
}
12231225

12241226
info->flags |= IEEE80211_TX_CTL_FIRST_FRAGMENT;
12251227

@@ -2451,7 +2453,8 @@ void ieee80211_check_fast_xmit(struct sta_info *sta)
24512453

24522454
if (test_sta_flag(sta, WLAN_STA_PS_STA) ||
24532455
test_sta_flag(sta, WLAN_STA_PS_DRIVER) ||
2454-
test_sta_flag(sta, WLAN_STA_PS_DELIVER))
2456+
test_sta_flag(sta, WLAN_STA_PS_DELIVER) ||
2457+
test_sta_flag(sta, WLAN_STA_CLEAR_PS_FILT))
24552458
goto out;
24562459

24572460
if (sdata->noack_map)

0 commit comments

Comments
 (0)