diff options
author | sam <sam@FreeBSD.org> | 2005-01-18 20:30:16 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2005-01-18 20:30:16 +0000 |
commit | ae59d1786661e0dc90ee45f45344b7b4485403c8 (patch) | |
tree | 686583de266eec4e95c67340b905d91ea67b23f4 /sys/net80211/ieee80211_node.c | |
parent | eb5749cdd67e5351e0f448d71849036ef8ccf34a (diff) | |
download | FreeBSD-src-ae59d1786661e0dc90ee45f45344b7b4485403c8.zip FreeBSD-src-ae59d1786661e0dc90ee45f45344b7b4485403c8.tar.gz |
Explicitly ignore ibss merge requests when the node is ic_bss. This can
happen on the first management frame received from a neighbor; we assume
any merge candidate will send more frames and those should be processed
with a suitable table entry.
Stepped on by: Tai-hwa Liang
Diffstat (limited to 'sys/net80211/ieee80211_node.c')
-rw-r--r-- | sys/net80211/ieee80211_node.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index bfae047..bc27733 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -727,7 +727,8 @@ int ieee80211_ibss_merge(struct ieee80211com *ic, struct ieee80211_node *ni) { - if (IEEE80211_ADDR_EQ(ni->ni_bssid, ic->ic_bss->ni_bssid)) { + if (ni == ic->ic_bss || + IEEE80211_ADDR_EQ(ni->ni_bssid, ic->ic_bss->ni_bssid)) { /* unchanged, nothing to do */ return 0; } |