diff options
author | Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> | 2014-08-11 06:29:57 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-08-26 05:15:58 -0400 |
commit | 970fdfa89babb5a6f1a3d345e8cb54d92c1e3a8f (patch) | |
tree | 05baa20b3aede4591303a27b6581a9fbd79037d8 /include | |
parent | 649b2a4da5d8a39c4d7be2fd228cf797819656f9 (diff) |
cfg80211: remove @gfp parameter from cfg80211_rx_mgmt()
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.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/cfg80211.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 0a080c4de275..7b8dac3efe8f 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -4412,7 +4412,6 @@ void cfg80211_conn_failed(struct net_device *dev, const u8 *mac_addr, | |||
4412 | * @buf: Management frame (header + body) | 4412 | * @buf: Management frame (header + body) |
4413 | * @len: length of the frame data | 4413 | * @len: length of the frame data |
4414 | * @flags: flags, as defined in enum nl80211_rxmgmt_flags | 4414 | * @flags: flags, as defined in enum nl80211_rxmgmt_flags |
4415 | * @gfp: context flags | ||
4416 | * | 4415 | * |
4417 | * This function is called whenever an Action frame is received for a station | 4416 | * This function is called whenever an Action frame is received for a station |
4418 | * mode interface, but is not processed in kernel. | 4417 | * mode interface, but is not processed in kernel. |
@@ -4423,7 +4422,7 @@ void cfg80211_conn_failed(struct net_device *dev, const u8 *mac_addr, | |||
4423 | * driver is responsible for rejecting the frame. | 4422 | * driver is responsible for rejecting the frame. |
4424 | */ | 4423 | */ |
4425 | bool cfg80211_rx_mgmt(struct wireless_dev *wdev, int freq, int sig_dbm, | 4424 | bool cfg80211_rx_mgmt(struct wireless_dev *wdev, int freq, int sig_dbm, |
4426 | const u8 *buf, size_t len, u32 flags, gfp_t gfp); | 4425 | const u8 *buf, size_t len, u32 flags); |
4427 | 4426 | ||
4428 | /** | 4427 | /** |
4429 | * cfg80211_mgmt_tx_status - notification of TX status for management frame | 4428 | * cfg80211_mgmt_tx_status - notification of TX status for management frame |