iwlwifi: tx: enable A-MSDU in low latency mode
authorMordechay Goodstein <mordechay.goodstein@intel.com>
Sat, 25 Apr 2020 10:04:55 +0000 (13:04 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 8 May 2020 06:52:59 +0000 (09:52 +0300)
Tests have shown that we can meet low latency KPIs with A-MSDU
enabled so enable it to achieve max TPT.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200425130140.e469ce6501e4.Ibdecebca830bdfbf5220693dd1f5367f7736242d@changeid
drivers/net/wireless/intel/iwlwifi/mvm/tx.c

index a8d0d17..2f6484e 100644 (file)
@@ -8,7 +8,7 @@
  * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
  * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
  * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
- * Copyright(c) 2018 - 2019 Intel Corporation
+ * Copyright(c) 2018 - 2020 Intel Corporation
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of version 2 of the GNU General Public License as
@@ -31,7 +31,7 @@
  * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
  * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
  * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
- * Copyright(c) 2018 - 2019 Intel Corporation
+ * Copyright(c) 2018 - 2020 Intel Corporation
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -920,11 +920,8 @@ static int iwl_mvm_tx_tso(struct iwl_mvm *mvm, struct sk_buff *skb,
         * No need to lock amsdu_in_ampdu_allowed since it can't be modified
         * during an BA session.
         */
-       if (info->flags & IEEE80211_TX_CTL_AMPDU &&
-           !mvmsta->tid_data[tid].amsdu_in_ampdu_allowed)
-               return iwl_mvm_tx_tso_segment(skb, 1, netdev_flags, mpdus_skb);
-
-       if (iwl_mvm_vif_low_latency(iwl_mvm_vif_from_mac80211(mvmsta->vif)) ||
+       if ((info->flags & IEEE80211_TX_CTL_AMPDU &&
+            !mvmsta->tid_data[tid].amsdu_in_ampdu_allowed) ||
            !(mvmsta->amsdu_enabled & BIT(tid)))
                return iwl_mvm_tx_tso_segment(skb, 1, netdev_flags, mpdus_skb);