aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-core.h
diff options
context:
space:
mode:
authorMohamed Abbas <mohamed.abbas@intel.com>2009-05-22 14:01:51 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-05-22 14:06:08 -0400
commit4752c93c30441f98f7ed723001b1a5e3e5619829 (patch)
treede868a2003d2328ad3bd048e75bc16b7e327bd7f /drivers/net/wireless/iwlwifi/iwl-core.h
parentef850d7cb301bda9155c096269557a4586b58071 (diff)
iwlcore: Allow skb allocation from tasklet.
If RX queue becomes empty then we need to restock the queue from tasklet to prevent ucode from starving. A caller to iwl_rx_allocate will decide if allocated buffer should come from GFP_ATOMIC or GFP_KERNEL. Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-core.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index cbd87afbf9a..87df1b76794 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -318,10 +318,11 @@ int iwl_rx_queue_update_write_ptr(struct iwl_priv *priv,
318 struct iwl_rx_queue *q); 318 struct iwl_rx_queue *q);
319void iwl_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq); 319void iwl_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq);
320void iwl_rx_replenish(struct iwl_priv *priv); 320void iwl_rx_replenish(struct iwl_priv *priv);
321void iwl_rx_replenish_now(struct iwl_priv *priv);
321int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq); 322int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq);
322int iwl_rx_queue_restock(struct iwl_priv *priv); 323int iwl_rx_queue_restock(struct iwl_priv *priv);
323int iwl_rx_queue_space(const struct iwl_rx_queue *q); 324int iwl_rx_queue_space(const struct iwl_rx_queue *q);
324void iwl_rx_allocate(struct iwl_priv *priv); 325void iwl_rx_allocate(struct iwl_priv *priv, gfp_t priority);
325void iwl_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb); 326void iwl_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb);
326int iwl_tx_queue_reclaim(struct iwl_priv *priv, int txq_id, int index); 327int iwl_tx_queue_reclaim(struct iwl_priv *priv, int txq_id, int index);
327/* Handlers */ 328/* Handlers */