diff options
author | Mohamed Abbas <mohamed.abbas@intel.com> | 2009-05-22 14:01:51 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-05-22 14:06:08 -0400 |
commit | 4752c93c30441f98f7ed723001b1a5e3e5619829 (patch) | |
tree | de868a2003d2328ad3bd048e75bc16b7e327bd7f /drivers/net/wireless/iwlwifi/iwl-core.h | |
parent | ef850d7cb301bda9155c096269557a4586b58071 (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.h | 3 |
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); |
319 | void iwl_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq); | 319 | void iwl_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq); |
320 | void iwl_rx_replenish(struct iwl_priv *priv); | 320 | void iwl_rx_replenish(struct iwl_priv *priv); |
321 | void iwl_rx_replenish_now(struct iwl_priv *priv); | ||
321 | int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq); | 322 | int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq); |
322 | int iwl_rx_queue_restock(struct iwl_priv *priv); | 323 | int iwl_rx_queue_restock(struct iwl_priv *priv); |
323 | int iwl_rx_queue_space(const struct iwl_rx_queue *q); | 324 | int iwl_rx_queue_space(const struct iwl_rx_queue *q); |
324 | void iwl_rx_allocate(struct iwl_priv *priv); | 325 | void iwl_rx_allocate(struct iwl_priv *priv, gfp_t priority); |
325 | void iwl_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb); | 326 | void iwl_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb); |
326 | int iwl_tx_queue_reclaim(struct iwl_priv *priv, int txq_id, int index); | 327 | int iwl_tx_queue_reclaim(struct iwl_priv *priv, int txq_id, int index); |
327 | /* Handlers */ | 328 | /* Handlers */ |