|
@@ -317,12 +317,11 @@ ieee80211_tx_h_multicast_ps_buf(struct ieee80211_tx_data *tx)
|
|
if (!atomic_read(&tx->sdata->bss->num_sta_ps))
|
|
if (!atomic_read(&tx->sdata->bss->num_sta_ps))
|
|
return TX_CONTINUE;
|
|
return TX_CONTINUE;
|
|
|
|
|
|
- /* buffered in hardware */
|
|
|
|
- if (!(tx->local->hw.flags & IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING)) {
|
|
|
|
- info->flags |= IEEE80211_TX_CTL_SEND_AFTER_DTIM;
|
|
|
|
|
|
+ info->flags |= IEEE80211_TX_CTL_SEND_AFTER_DTIM;
|
|
|
|
|
|
|
|
+ /* device releases frame after DTIM beacon */
|
|
|
|
+ if (!(tx->local->hw.flags & IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING))
|
|
return TX_CONTINUE;
|
|
return TX_CONTINUE;
|
|
- }
|
|
|
|
|
|
|
|
/* buffered in mac80211 */
|
|
/* buffered in mac80211 */
|
|
if (tx->local->total_ps_buffered >= TOTAL_MAX_TX_BUFFER)
|
|
if (tx->local->total_ps_buffered >= TOTAL_MAX_TX_BUFFER)
|