lkml.org 
[lkml]   [2019]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 058/205] iwlwifi: mvm: avoid sending too many BARs
    Date
    From: Sara Sharon <sara.sharon@intel.com>

    [ Upstream commit 1a19c139be18ed4d6d681049cc48586fae070120 ]

    When we receive TX response, we may release a few packets
    due to a hole that was closed in the transmission window.

    However, if that frame failed, we will mark all the released
    frames as failed and will send multiple BARs.

    This affects statistics badly, and cause unnecessary frames
    transmission.

    Instead, mark all the following packets as success, with the
    desired result of sending a bar for the failed frame only.

    Signed-off-by: Sara Sharon <sara.sharon@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 8 ++++++++
    1 file changed, 8 insertions(+)

    diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
    index 5615ce55cef56..cb2e52e7f46c9 100644
    --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
    +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
    @@ -1438,6 +1438,14 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
    break;
    }

    + /*
    + * If we are freeing multiple frames, mark all the frames
    + * but the first one as acked, since they were acknowledged
    + * before
    + * */
    + if (skb_freed > 1)
    + info->flags |= IEEE80211_TX_STAT_ACK;
    +
    iwl_mvm_tx_status_check_trigger(mvm, status);

    info->status.rates[0].count = tx_resp->failure_frame + 1;
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-11-08 13:11    [W:7.525 / U:0.724 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site