mirror of https://gitee.com/openkylin/linux.git
mac80211: send peer candidate event for new sta only
Only send a cfg80211 new peer candidate notification if userspace has yet to allocate this station entry. Signed-off-by: Thomas Pedersen <thomas@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
8ff44ef26a
commit
f5c5681424
|
@ -346,6 +346,15 @@ static struct sta_info *mesh_peer_init(struct ieee80211_sub_if_data *sdata,
|
|||
|
||||
sta = sta_info_get(sdata, addr);
|
||||
if (!sta) {
|
||||
/* Userspace handles peer allocation when security is enabled */
|
||||
if (sdata->u.mesh.security & IEEE80211_MESH_SEC_AUTHED) {
|
||||
cfg80211_notify_new_peer_candidate(sdata->dev, addr,
|
||||
elems->ie_start,
|
||||
elems->total_len,
|
||||
GFP_ATOMIC);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
sta = mesh_plink_alloc(sdata, addr);
|
||||
if (!sta)
|
||||
return NULL;
|
||||
|
@ -387,15 +396,6 @@ void mesh_neighbour_update(struct ieee80211_sub_if_data *sdata,
|
|||
{
|
||||
struct sta_info *sta;
|
||||
|
||||
/* Userspace handles peer allocation when security is enabled */
|
||||
if (sdata->u.mesh.security & IEEE80211_MESH_SEC_AUTHED) {
|
||||
cfg80211_notify_new_peer_candidate(sdata->dev, hw_addr,
|
||||
elems->ie_start,
|
||||
elems->total_len,
|
||||
GFP_KERNEL);
|
||||
return;
|
||||
}
|
||||
|
||||
rcu_read_lock();
|
||||
sta = mesh_peer_init(sdata, hw_addr, elems);
|
||||
if (!sta)
|
||||
|
|
Loading…
Reference in New Issue