Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Feb 2007 06:52:33 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 113981 for review
Message-ID:  <200702040652.l146qXUP009499@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=113981

Change 113981 by sam@sam_ebb on 2007/02/04 06:52:16

	duh, checking ssid is very wrong
	Obtained from:	atheros

Affected files ...

.. //depot/projects/wifi/sys/net80211/ieee80211_node.c#80 edit

Differences ...

==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#80 (text+ko) ====

@@ -519,13 +519,6 @@
 	return ieee80211_sta_join1(ieee80211_ref_node(ni));
 }
 
-static __inline int
-ssid_equal(const struct ieee80211_node *a, const struct ieee80211_node *b)
-{
-	return (a->ni_esslen == b->ni_esslen &&
-		memcmp(a->ni_essid, b->ni_essid, a->ni_esslen) == 0);
-}
-
 /*
  * Join the specified IBSS/BSS network.  The node is assumed to
  * be passed in with a held reference.
@@ -556,11 +549,12 @@
 	 */
 	obss = ic->ic_bss;
 	/*
-	 * Check if old+new node have the same ssid in which
+	 * Check if old+new node have the same address in which
 	 * case we can reassociate when operating in sta mode.
 	 */
 	canreassoc = (obss != NULL &&
-		ic->ic_state == IEEE80211_S_RUN && ssid_equal(obss, selbs));
+		ic->ic_state == IEEE80211_S_RUN &&
+		IEEE80211_ADDR_EQ(obss->ni_macaddr, selbs->ni_macaddr));
 	ic->ic_bss = selbs;		/* NB: caller assumed to bump refcnt */
 	if (obss != NULL) {
 		copy_bss(selbs, obss);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702040652.l146qXUP009499>