aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl3945-base.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl3945-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 090966837f3c..4f2d43937283 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -1146,11 +1146,18 @@ static void iwl3945_rx_allocate(struct iwl_priv *priv, gfp_t priority)
1146 } 1146 }
1147 spin_unlock_irqrestore(&rxq->lock, flags); 1147 spin_unlock_irqrestore(&rxq->lock, flags);
1148 1148
1149 if (rxq->free_count > RX_LOW_WATERMARK)
1150 priority |= __GFP_NOWARN;
1149 /* Alloc a new receive buffer */ 1151 /* Alloc a new receive buffer */
1150 skb = alloc_skb(priv->hw_params.rx_buf_size, priority); 1152 skb = alloc_skb(priv->hw_params.rx_buf_size, priority);
1151 if (!skb) { 1153 if (!skb) {
1152 if (net_ratelimit()) 1154 if (net_ratelimit())
1153 IWL_CRIT(priv, ": Can not allocate SKB buffers\n"); 1155 IWL_DEBUG_INFO(priv, "Failed to allocate SKB buffer.\n");
1156 if ((rxq->free_count <= RX_LOW_WATERMARK) &&
1157 net_ratelimit())
1158 IWL_CRIT(priv, "Failed to allocate SKB buffer with %s. Only %u free buffers remaining.\n",
1159 priority == GFP_ATOMIC ? "GFP_ATOMIC" : "GFP_KERNEL",
1160 rxq->free_count);
1154 /* We don't reschedule replenish work here -- we will 1161 /* We don't reschedule replenish work here -- we will
1155 * call the restock method and if it still needs 1162 * call the restock method and if it still needs
1156 * more buffers it will schedule replenish */ 1163 * more buffers it will schedule replenish */