projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
package/kernel: create package for the RT305x dwc_otg driver
[openwrt.git]
/
package
/
madwifi
/
patches
/
441-fix_ibss_node_handling.patch
diff --git
a/package/madwifi/patches/441-fix_ibss_node_handling.patch
b/package/madwifi/patches/441-fix_ibss_node_handling.patch
index
d64ebf0
..
20d59de
100644
(file)
--- a/
package/madwifi/patches/441-fix_ibss_node_handling.patch
+++ b/
package/madwifi/patches/441-fix_ibss_node_handling.patch
@@
-1,6
+1,6
@@
--- a/ath/if_ath.c
+++ b/ath/if_ath.c
--- a/ath/if_ath.c
+++ b/ath/if_ath.c
-@@ -664
2,10 +6642
,8 @@ static void
+@@ -664
1,10 +6641
,8 @@ static void
ath_recv_mgmt(struct ieee80211vap * vap, struct ieee80211_node *ni_or_null,
struct sk_buff *skb, int subtype, int rssi, u_int64_t rtsf)
{
ath_recv_mgmt(struct ieee80211vap * vap, struct ieee80211_node *ni_or_null,
struct sk_buff *skb, int subtype, int rssi, u_int64_t rtsf)
{
@@
-12,7
+12,7
@@
struct ieee80211_node * ni = ni_or_null;
u_int64_t hw_tsf, beacon_tsf;
u_int32_t hw_tu, beacon_tu, intval;
struct ieee80211_node * ni = ni_or_null;
u_int64_t hw_tsf, beacon_tsf;
u_int32_t hw_tu, beacon_tu, intval;
-@@ -668
7,7 +6685
,7 @@ ath_recv_mgmt(struct ieee80211vap * vap,
+@@ -668
6,7 +6684
,7 @@ ath_recv_mgmt(struct ieee80211vap * vap,
}
if ((vap->iv_opmode == IEEE80211_M_IBSS) &&
(sc->sc_opmode == HAL_M_HOSTAP) &&
}
if ((vap->iv_opmode == IEEE80211_M_IBSS) &&
(sc->sc_opmode == HAL_M_HOSTAP) &&
@@
-44,8
+44,8
@@
if (dir != IEEE80211_FC1_DIR_NODS) {
IEEE80211_DISCARD(vap, IEEE80211_MSG_ANY,
wh, "data", "invalid dir 0x%x", dir);
if (dir != IEEE80211_FC1_DIR_NODS) {
IEEE80211_DISCARD(vap, IEEE80211_MSG_ANY,
wh, "data", "invalid dir 0x%x", dir);
-@@ -35
48,6 +3553,11 @@ ieee80211_recv_mgmt(struct ieee80211vap
- } else if (
vap->iv_opmode == IEEE80211_M_WDS
) {
+@@ -35
58,6 +3563,11 @@ ieee80211_recv_mgmt(struct ieee80211vap
+ } else if (
(vap->iv_opmode == IEEE80211_M_WDS) && vap->iv_wdsnode
) {
found = 1;
ni = ni_or_null = vap->iv_wdsnode;
+ } else if (vap->iv_opmode == IEEE80211_M_IBSS) {
found = 1;
ni = ni_or_null = vap->iv_wdsnode;
+ } else if (vap->iv_opmode == IEEE80211_M_IBSS) {
@@
-56,7
+56,7
@@
}
IEEE80211_UNLOCK_IRQ(vap->iv_ic);
}
IEEE80211_UNLOCK_IRQ(vap->iv_ic);
-@@ -36
72,19 +3682,8 @@ ieee80211_recv_mgmt(struct ieee80211vap
+@@ -36
86,19 +3696,8 @@ ieee80211_recv_mgmt(struct ieee80211vap
vap->iv_stats.is_rx_ssidmismatch++; /*XXX*/
return;
}
vap->iv_stats.is_rx_ssidmismatch++; /*XXX*/
return;
}
@@
-80,11
+80,12
@@
allocbs = 1;
--- a/net80211/ieee80211_node.c
+++ b/net80211/ieee80211_node.c
allocbs = 1;
--- a/net80211/ieee80211_node.c
+++ b/net80211/ieee80211_node.c
-@@ -601,6 +601,
7
@@ ieee80211_ibss_merge(struct ieee80211_no
+@@ -601,6 +601,
8
@@ ieee80211_ibss_merge(struct ieee80211_no
ic->ic_flags & IEEE80211_F_SHPREAMBLE ? "short" : "long",
ic->ic_flags & IEEE80211_F_SHSLOT ? "short" : "long",
ic->ic_flags & IEEE80211_F_USEPROT ? ", protection" : "");
ic->ic_flags & IEEE80211_F_SHPREAMBLE ? "short" : "long",
ic->ic_flags & IEEE80211_F_SHSLOT ? "short" : "long",
ic->ic_flags & IEEE80211_F_USEPROT ? ", protection" : "");
-+ ieee80211_node_table_reset(&vap->iv_ic->ic_sta, vap);
++ if (!IEEE80211_ADDR_EQ(ni->ni_bssid, vap->iv_bssid))
++ ieee80211_node_table_reset(&vap->iv_ic->ic_sta, vap);
return ieee80211_sta_join1(ieee80211_ref_node(ni));
}
EXPORT_SYMBOL(ieee80211_ibss_merge);
return ieee80211_sta_join1(ieee80211_ref_node(ni));
}
EXPORT_SYMBOL(ieee80211_ibss_merge);
This page took
0.025314 seconds
and
4
git commands to generate.