diff options
author | avatar <avatar@FreeBSD.org> | 2005-07-06 01:31:34 +0000 |
---|---|---|
committer | avatar <avatar@FreeBSD.org> | 2005-07-06 01:31:34 +0000 |
commit | 9fb6cc8fde85360ec292c60cb811ea4c9bbd701f (patch) | |
tree | 88d11c5990aa3cd7e9468c27ec2d3b6b98848352 /sys/net80211/ieee80211_input.c | |
parent | 23f56c61a96992c32ea50b6322160e084052f565 (diff) | |
download | FreeBSD-src-9fb6cc8fde85360ec292c60cb811ea4c9bbd701f.zip FreeBSD-src-9fb6cc8fde85360ec292c60cb811ea4c9bbd701f.tar.gz |
Only update the scan entry state based on newly received frames.
This fixes duplicative BSS entries(memory leaks as well) listed in
"ifconfig dev list scan" when a station fails to associate with an AP.
Reviewed by: sam
Approved by: re (scottl)
Diffstat (limited to 'sys/net80211/ieee80211_input.c')
-rw-r--r-- | sys/net80211/ieee80211_input.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index 46d0e60..50c3ccf 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -1917,7 +1917,8 @@ ieee80211_recv_mgmt(struct ieee80211com *ic, struct mbuf *m0, return; } - if (ni == ic->ic_bss) { + if (ni == ic->ic_bss && + !IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid)) { #ifdef IEEE80211_DEBUG if (ieee80211_msg_scan(ic)) dump_probe_beacon(subtype, 1, |