iwlwifi: kzalloc txb array
authorJohannes Berg <johannes.berg@intel.com>
Mon, 17 May 2010 09:37:33 +0000 (02:37 -0700)
committerReinette Chatre <reinette.chatre@intel.com>
Sun, 6 Jun 2010 06:18:11 +0000 (23:18 -0700)
When we allocate queues, we currently don't
use kzalloc() right now. When we then free
those queues again without having used all
entries, we may end up trying to free random
pointers found in the txb array since it was
never initialised. This fixes it simply by
using kzalloc().

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
drivers/net/wireless/iwlwifi/iwl-tx.c

index 769136f8f321f2d9cc2f5cc856eafb9e6a51593e..a81989c0698336dab5ebd0127ed01b93de698e57 100644 (file)
@@ -272,7 +272,7 @@ static int iwl_tx_queue_alloc(struct iwl_priv *priv,
        /* Driver private data, only for Tx (not command) queues,
         * not shared with device. */
        if (id != IWL_CMD_QUEUE_NUM) {
-               txq->txb = kmalloc(sizeof(txq->txb[0]) *
+               txq->txb = kzalloc(sizeof(txq->txb[0]) *
                                   TFD_QUEUE_SIZE_MAX, GFP_KERNEL);
                if (!txq->txb) {
                        IWL_ERR(priv, "kmalloc for auxiliary BD "