diff options
author | Felix Fietkau <nbd@openwrt.org> | 2008-07-12 22:24:17 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2008-07-12 22:24:17 +0000 |
commit | 27361b2d0b8c157dfcaac8f19b334b5293b8500d (patch) | |
tree | dbee5f9c81d5ec06a695bb00b586019c5ee54bee /package/madwifi/patches | |
parent | 1e91acfb39d477ad04ea8172d6c0d93411696651 (diff) | |
download | upstream-27361b2d0b8c157dfcaac8f19b334b5293b8500d.tar.gz upstream-27361b2d0b8c157dfcaac8f19b334b5293b8500d.tar.bz2 upstream-27361b2d0b8c157dfcaac8f19b334b5293b8500d.zip |
madwifi: add a preliminary fix for the reassoc check, but disable reassoc entirely for now until we've figured out why it fails frequently.
SVN-Revision: 11796
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 0000000000..723424f1bb --- /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) |