Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 109453
b: refs/heads/master
c: 73b7d74
h: refs/heads/master
i:
  109451: 51283ac
v: v3
  • Loading branch information
Tomas Winkler authored and John W. Linville committed Sep 3, 2008
1 parent 73e95f6 commit eb8ae38
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 28a6b07a14bd5e63af2c0304306f35c5b963910b
refs/heads/master: 73b7d742519ab4cc1b7a12c7af15187fc0ede8e7
27 changes: 17 additions & 10 deletions trunk/drivers/net/wireless/iwlwifi/iwl-tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -402,12 +402,11 @@ static int iwl_hw_tx_queue_init(struct iwl_priv *priv,
/**
* iwl_tx_queue_init - Allocate and initialize one tx/cmd queue
*/
static int iwl_tx_queue_init(struct iwl_priv *priv,
struct iwl_tx_queue *txq,
static int iwl_tx_queue_init(struct iwl_priv *priv, struct iwl_tx_queue *txq,
int slots_num, u32 txq_id)
{
int i, len;
int rc = 0;
int ret;

/*
* Alloc buffer array for commands (Tx or other types of commands).
Expand All @@ -428,17 +427,14 @@ static int iwl_tx_queue_init(struct iwl_priv *priv,

txq->cmd[i] = kmalloc(len, GFP_KERNEL);
if (!txq->cmd[i])
return -ENOMEM;
goto err;
}

/* Alloc driver data array and TFD circular buffer */
rc = iwl_tx_queue_alloc(priv, txq, txq_id);
if (rc) {
for (i = 0; i < slots_num; i++)
kfree(txq->cmd[i]);
ret = iwl_tx_queue_alloc(priv, txq, txq_id);
if (ret)
goto err;

return -ENOMEM;
}
txq->need_update = 0;

/* TFD_QUEUE_SIZE_MAX must be power-of-two size, otherwise
Expand All @@ -452,6 +448,17 @@ static int iwl_tx_queue_init(struct iwl_priv *priv,
iwl_hw_tx_queue_init(priv, txq);

return 0;
err:
for (i = 0; i < slots_num; i++) {
kfree(txq->cmd[i]);
txq->cmd[i] = NULL;
}

if (txq_id == IWL_CMD_QUEUE_NUM) {
kfree(txq->cmd[slots_num]);
txq->cmd[slots_num] = NULL;
}
return -ENOMEM;
}
/**
* iwl_hw_txq_ctx_free - Free TXQ Context
Expand Down

0 comments on commit eb8ae38

Please sign in to comment.