]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iwlwifi: update SCD BC table for all SCD queues
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Mon, 26 Dec 2011 06:47:34 +0000 (08:47 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 6 Jan 2012 22:17:31 +0000 (14:17 -0800)
commit 96f1f05af76b601ab21a7dc603ae0a1cea4efc3d upstream.

Since we configure all the queues as CHAINABLE, we need to update the
byte count for all the queues, not only the AGGREGATABLE ones.

Not doing so can confuse the SCD and make the fw assert.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/wireless/iwlwifi/iwl-trans.c

index 41f0de9140087e4105354a9dcb2a03cacde4fccb..32eb4fe04328a16304d31be670614626f06a4d1b 100644 (file)
@@ -1068,9 +1068,7 @@ static int iwl_trans_tx(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 */
-       if (ampdu)
-               iwl_trans_txq_update_byte_cnt_tbl(priv, txq,
-                                              le16_to_cpu(tx_cmd->len));
+       iwl_trans_txq_update_byte_cnt_tbl(priv, txq, le16_to_cpu(tx_cmd->len));
 
        dma_sync_single_for_device(priv->bus->dev, txcmd_phys, firstlen,
                        DMA_BIDIRECTIONAL);