iwlwifi: only update byte count table during aggregation
authorReinette Chatre <reinette.chatre@intel.com>
Thu, 9 Jul 2009 17:33:39 +0000 (10:33 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 21 Jul 2009 16:07:33 +0000 (12:07 -0400)
The byte count table is only used for aggregation. Updating it
in other cases caused fragmented frames to be dropped.

This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2004

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-tx.c

index 85ae7a62109cd29475ce2b89e68468b05d25c484..9bbeec9427f0611b1f31725a0ea3b2578da4c8d1 100644 (file)
@@ -872,7 +872,8 @@ int iwl_tx_skb(struct iwl_priv *priv, struct sk_buff *skb)
        iwl_print_hex_dump(priv, IWL_DL_TX, (u8 *)tx_cmd->hdr, hdr_len);
 
        /* Set up entry for this TFD in Tx byte-count array */
-       priv->cfg->ops->lib->txq_update_byte_cnt_tbl(priv, txq,
+       if (info->flags & IEEE80211_TX_CTL_AMPDU)
+               priv->cfg->ops->lib->txq_update_byte_cnt_tbl(priv, txq,
                                                     le16_to_cpu(tx_cmd->len));
 
        pci_dma_sync_single_for_device(priv->pci_dev, txcmd_phys,