diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-07-12 22:24:17 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-07-12 22:24:17 +0000 |
commit | 677969ea658900b34bd19ab25e7cf0626d2a9b43 (patch) | |
tree | 2f79607b797ebe1f973ba85536b6f1430f1ac5a0 /package/madwifi/patches | |
parent | 027914051a5a0d18629277780fc79bfaf101e92f (diff) |
madwifi: add a preliminary fix for the reassoc check, but disable reassoc entirely for now until we've figured out why it fails frequently.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11796 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/madwifi/patches')
-rw-r--r-- | package/madwifi/patches/359-disable_reassoc.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/package/madwifi/patches/359-disable_reassoc.patch b/package/madwifi/patches/359-disable_reassoc.patch new file mode 100644 index 000000000..723424f1b --- /dev/null +++ b/package/madwifi/patches/359-disable_reassoc.patch @@ -0,0 +1,31 @@ +Add a preliminary fix for the reassoc check, but disable reassoc entirely for now +until we've figured out why it fails frequently. + +Signed-off-by: Felix Fietkau <nbd@openwrt.org> + +--- a/net80211/ieee80211_node.c ++++ b/net80211/ieee80211_node.c +@@ -599,10 +599,9 @@ + EXPORT_SYMBOL(ieee80211_ibss_merge); + + static __inline int +-ssid_equal(const struct ieee80211_node *a, const struct ieee80211_node *b) ++bssid_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); ++ return (memcmp(a->ni_bssid, b->ni_bssid, IEEE80211_ADDR_LEN) == 0); + } + + /* +@@ -634,8 +633,8 @@ + * Check if old+new node have the same ssid in which + * case we can reassociate when operating in sta mode. + */ +- canreassoc = ((obss != NULL) && +- (vap->iv_state == IEEE80211_S_RUN) && ssid_equal(obss, selbs)); ++ canreassoc = 0; /* ((obss != NULL) && ++ (vap->iv_state == IEEE80211_S_RUN) && bssid_equal(obss, selbs)); */ + vap->iv_bss = selbs; + IEEE80211_ADDR_COPY(vap->iv_bssid, selbs->ni_bssid); + if (obss != NULL) |