On 08/11/2014 04:57 PM, Johannes Berg wrote:
On Mon, 2014-08-11 at 03:29 -0700, Vladimir Kondratiev wrote:
In the cfg80211_rx_mgmt(), parameter @gfp was used for the memory allocation.
But, memory get allocated under spin_lock_bh(), this implies atomic context.
So, one can't use GFP_KERNEL, only variants with no __GFP_WAIT. Actually, in all
occurrences GFP_ATOMIC is used (wil6210 use GFP_KERNEL by mistake),
and it should be this way or warning triggered in the memory allocation code.
Remove @gfp parameter as no actual choice exist, and use hard coded
GFP_ATOMIC for memory allocation.
When I saw the patch I quickly checked and noticed brcmfmac using
GFP_ATOMIC. However, looking at bit closer into this it turns out that
the cfg80211_rx_mgmt() call could be done with GFP_KERNEL flag in
brcmfmac. I leave it to you what to do here :-p
Applied, thanks.
johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html