diff options
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 70ff4f065665..edacad1fb1dc 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -373,7 +373,7 @@ ieee80211_tx_h_unicast_ps_buf(struct ieee80211_tx_data *tx) | |||
373 | staflags = get_sta_flags(sta); | 373 | staflags = get_sta_flags(sta); |
374 | 374 | ||
375 | if (unlikely((staflags & WLAN_STA_PS) && | 375 | if (unlikely((staflags & WLAN_STA_PS) && |
376 | !(staflags & WLAN_STA_PSPOLL))) { | 376 | !(info->flags & IEEE80211_TX_CTL_PSPOLL_RESPONSE))) { |
377 | #ifdef CONFIG_MAC80211_VERBOSE_PS_DEBUG | 377 | #ifdef CONFIG_MAC80211_VERBOSE_PS_DEBUG |
378 | printk(KERN_DEBUG "STA %pM aid %d: PS buffer (entries " | 378 | printk(KERN_DEBUG "STA %pM aid %d: PS buffer (entries " |
379 | "before %d)\n", | 379 | "before %d)\n", |
@@ -412,24 +412,7 @@ ieee80211_tx_h_unicast_ps_buf(struct ieee80211_tx_data *tx) | |||
412 | sta->sta.addr); | 412 | sta->sta.addr); |
413 | } | 413 | } |
414 | #endif /* CONFIG_MAC80211_VERBOSE_PS_DEBUG */ | 414 | #endif /* CONFIG_MAC80211_VERBOSE_PS_DEBUG */ |
415 | if (test_and_clear_sta_flags(sta, WLAN_STA_PSPOLL)) { | ||
416 | /* | ||
417 | * The sleeping station with pending data is now snoozing. | ||
418 | * It queried us for its buffered frames and will go back | ||
419 | * to deep sleep once it got everything. | ||
420 | * | ||
421 | * inform the driver, in case the hardware does powersave | ||
422 | * frame filtering and keeps a station blacklist on its own | ||
423 | * (e.g: p54), so that frames can be delivered unimpeded. | ||
424 | * | ||
425 | * Note: It should be safe to disable the filter now. | ||
426 | * As, it is really unlikely that we still have any pending | ||
427 | * frame for this station in the hw's buffers/fifos left, | ||
428 | * that is not rejected with a unsuccessful tx_status yet. | ||
429 | */ | ||
430 | 415 | ||
431 | info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT; | ||
432 | } | ||
433 | return TX_CONTINUE; | 416 | return TX_CONTINUE; |
434 | } | 417 | } |
435 | 418 | ||