|
@@ -439,8 +439,8 @@ ieee80211_tx_h_multicast_ps_buf(struct ieee80211_tx_data *tx)
|
|
if (ieee80211_hw_check(&tx->local->hw, QUEUE_CONTROL))
|
|
if (ieee80211_hw_check(&tx->local->hw, QUEUE_CONTROL))
|
|
info->hw_queue = tx->sdata->vif.cab_queue;
|
|
info->hw_queue = tx->sdata->vif.cab_queue;
|
|
|
|
|
|
- /* no stations in PS mode */
|
|
|
|
- if (!atomic_read(&ps->num_sta_ps))
|
|
|
|
|
|
+ /* no stations in PS mode and no buffered packets */
|
|
|
|
+ if (!atomic_read(&ps->num_sta_ps) && skb_queue_empty(&ps->bc_buf))
|
|
return TX_CONTINUE;
|
|
return TX_CONTINUE;
|
|
|
|
|
|
info->flags |= IEEE80211_TX_CTL_SEND_AFTER_DTIM;
|
|
info->flags |= IEEE80211_TX_CTL_SEND_AFTER_DTIM;
|