lkml.org 
[lkml]   [2019]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 264/305] mac80211: fix reordering of buffered broadcast packets
    3.16.63-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Felix Fietkau <nbd@nbd.name>

    commit 9ec1190d065998650fd9260dea8cf3e1f56c0e8c upstream.

    If the buffered broadcast queue contains packets, letting new packets bypass
    that queue can lead to heavy reordering, since the driver is probably throttling
    transmission of buffered multicast packets after beacons.

    Keep buffering packets until the buffer has been cleared (and no client
    is in powersave mode).

    Signed-off-by: Felix Fietkau <nbd@nbd.name>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    net/mac80211/tx.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/net/mac80211/tx.c
    +++ b/net/mac80211/tx.c
    @@ -417,8 +417,8 @@ ieee80211_tx_h_multicast_ps_buf(struct i
    if (tx->local->hw.flags & IEEE80211_HW_QUEUE_CONTROL)
    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;

    info->flags |= IEEE80211_TX_CTL_SEND_AFTER_DTIM;
    \
     
     \ /
      Last update: 2019-02-03 15:32    [W:4.079 / U:0.372 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site