iwlwifi: reduce noise when skb allocation fails
authorReinette Chatre <reinette.chatre@intel.com>
Thu, 17 Sep 2009 17:43:56 +0000 (10:43 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 23 Sep 2009 15:35:53 +0000 (11:35 -0400)
commitf82a924cc88a5541df1d4b9d38a0968cd077a051
tree86bafe3162f0c334deb4a41012101e1b345622f6
parentbba98871c6c5f1f086086ccf13836a02e0f27e77
iwlwifi: reduce noise when skb allocation fails

Replenishment of receive buffers is done in the tasklet handling
received frames as well as in a workqueue. When we are in the tasklet
we cannot sleep and thus attempt atomic skb allocations. It is generally
not a big problem if this fails since iwl_rx_allocate is always followed
by a call to iwl_rx_queue_restock which will queue the work to replenish
the buffers at a time when sleeping is allowed.

We thus add the __GFP_NOWARN to the skb allocation in iwl_rx_allocate to
reduce the noise if such an allocation fails while we still have enough
buffers. We do maintain the warning and the error message when we are low
on buffers to communicate to the user that there is a potential problem with
memory availability on system

This addresses issue reported upstream in thread "iwlagn: order 2 page
allocation failures" in
http://thread.gmane.org/gmane.linux.kernel.wireless.general/39187

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-rx.c
drivers/net/wireless/iwlwifi/iwl3945-base.c