projects
/
platform
/
kernel
/
linux-amlogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b2c76bb
)
ath6kl: fix atomicity in ath6kl_cfg80211_scan_node()
author
Kalle Valo
<kvalo@qca.qualcomm.com>
Thu, 21 Jul 2011 07:04:54 +0000
(10:04 +0300)
committer
Kalle Valo
<kvalo@qca.qualcomm.com>
Tue, 9 Aug 2011 16:45:22 +0000
(19:45 +0300)
ath6kl_cfg80211_scan_node() was calling cfg80211_inform_bss_frame()
with CFP_KERNEL but the function is executed with a spin lock taken.
This is wrong and the function must use GFP_ATOMIC instead.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/cfg80211.c
patch
|
blob
|
history
diff --git
a/drivers/net/wireless/ath/ath6kl/cfg80211.c
b/drivers/net/wireless/ath/ath6kl/cfg80211.c
index
b9090b8
..
eff9983
100644
(file)
--- a/
drivers/net/wireless/ath/ath6kl/cfg80211.c
+++ b/
drivers/net/wireless/ath/ath6kl/cfg80211.c
@@
-720,6
+720,7
@@
static inline bool is_ch_11a(u16 ch)
return (!((ch >= 2412) && (ch <= 2484)));
}
+/* struct ath6kl_node_table::nt_nodelock is locked when calling this */
static void ath6kl_cfg80211_scan_node(void *arg, struct bss *ni)
{
struct wiphy *wiphy = (struct wiphy *)arg;
@@
-769,7
+770,7
@@
static void ath6kl_cfg80211_scan_node(void *arg, struct bss *ni)
"%s: bssid %pM ch %d freq %d size %d\n", __func__,
mgmt->bssid, channel->hw_value, freq, size);
cfg80211_inform_bss_frame(wiphy, channel, mgmt,
- size, signal, GFP_
KERNEL
);
+ size, signal, GFP_
ATOMIC
);
kfree(ieeemgmtbuf);
}