2008-11-21 14:04:00

by Marcel Holtmann

[permalink] [raw]
Subject: iwlwifi produces "Can not allocate SKB buffers"

Hi guys,

after the DMA issues got fixed, I am still seeing the SKB allocation
errors. So I put a WARN() into the code:

diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c
b/drivers/net/wireless/iwlwifi/iwl-rx.c
index 8d2b73e..acd9b12 100644
--- a/drivers/net/wireless/iwlwifi/iwl-rx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-rx.c
@@ -252,10 +252,7 @@ void iwl_rx_allocate(struct iwl_priv *priv)
/* Alloc a new receive buffer */
rxb->skb = alloc_skb(priv->hw_params.rx_buf_size + 256,
__GFP_NOWARN | GFP_ATOMIC);
- if (!rxb->skb) {
- if (net_ratelimit())
- printk(KERN_CRIT DRV_NAME
- ": Can not allocate SKB buffers\n");
+ if (WARN(!rxb->skb, "Can not allocate SKB buffers\n")) {
/* We don't reschedule replenish work here -- we
will
* call the restock method and if it still needs
* more buffers it will schedule replenish */

This allows me to record these issue via kerneloops.org. And here is one
from my current wireless-testing tree I am running:

http://www.kerneloops.org/raw.php?rawid=104543&msgid=

Regards

Marcel