summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2011-08-26 10:11:23 +0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-29 23:30:32 +0400
commitdfa2bdbab70901ddda3ec41f2e55f8396af9095f (patch)
tree0e547a9e6dc42189f6b0c40a1a72934f0fb6d51c /drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
parentba562f71198a2cb03bb8d20640ffdf996275c3f0 (diff)
downloadlinux-dfa2bdbab70901ddda3ec41f2e55f8396af9095f.tar.xz
iwlagn: upper layer uses slabs to allocate tx cmds
In a near future, the upper layer won't be aware of the tx queues. This allows to remove one place where the upper layer needed to provide the tx queue index to the transport layer. This also saves around 1.5MB. 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-agn-ucode.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-ucode.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
index 02b00d177323..ddb255a575df 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
@@ -351,6 +351,15 @@ static int iwlagn_alive_notify(struct iwl_priv *priv)
{
int ret;
+ if (!priv->tx_cmd_pool)
+ priv->tx_cmd_pool =
+ kmem_cache_create("iwlagn_dev_cmd",
+ sizeof(struct iwl_device_cmd),
+ sizeof(void *), 0, NULL);
+
+ if (!priv->tx_cmd_pool)
+ return -ENOMEM;
+
iwl_trans_tx_start(trans(priv));
ret = iwlagn_send_wimax_coex(priv);