summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2011-09-22 15:14:50 -0700
committerJohn W. Linville <linville@tuxdriver.com>2011-09-27 14:34:06 -0400
commit02dc84fe18482badbc8f2e45174d1147f8ebde0a (patch)
tree2c6037e503436b5d7d497ffd1e65d72e75d38dfe /drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
parentb62ff718baab03ebfed6daa60882beffea9ab6c7 (diff)
downloadtalos-obmc-linux-02dc84fe18482badbc8f2e45174d1147f8ebde0a.tar.gz
talos-obmc-linux-02dc84fe18482badbc8f2e45174d1147f8ebde0a.zip
iwlagn: set the sequence control from the transport layer
Since all the queue logic has been moved to the transport layer, the sequence number is set in the transport layer. While doing that I forgot that the mac header is copied to the TB of the TX cmd in the upper layer before the call to the transport layer. So basically we used the sequence number from mac80211... This was fine for the first assocation but after the second, mac80211 resets its counters while we don't hence a shift that led to terrible impact on performance. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans-pcie.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans-pcie.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
index b78ac65b2779..781f6aa81df9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
@@ -1101,6 +1101,9 @@ static int iwl_trans_pcie_tx(struct iwl_trans *trans, struct sk_buff *skb,
}
}
+ /* Copy MAC header from skb into command buffer */
+ memcpy(tx_cmd->hdr, hdr, hdr_len);
+
txq = &trans_pcie->txq[txq_id];
q = &txq->q;
OpenPOWER on IntegriCloud