if (dir != IEEE80211_FC1_DIR_NODS) {
IEEE80211_DISCARD(vap, IEEE80211_MSG_ANY,
wh, "data", "invalid dir 0x%x", dir);
-@@ -3555,6 +3560,11 @@ ieee80211_recv_mgmt(struct ieee80211vap
- } else if (vap->iv_opmode == IEEE80211_M_WDS) {
+@@ -3558,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) {
}
IEEE80211_UNLOCK_IRQ(vap->iv_ic);
-@@ -3683,19 +3693,8 @@ ieee80211_recv_mgmt(struct ieee80211vap
+@@ -3686,19 +3696,8 @@ ieee80211_recv_mgmt(struct ieee80211vap
vap->iv_stats.is_rx_ssidmismatch++; /*XXX*/
return;
}
return ieee80211_sta_join1(ieee80211_ref_node(ni));
}
EXPORT_SYMBOL(ieee80211_ibss_merge);
-@@ -1378,9 +1380,7 @@ ieee80211_add_neighbor(struct ieee80211v
- if (sp->ath != NULL)
- ieee80211_saveath(ni, sp->ath);
-
-- /* NB: must be after ni_chan is setup */
-- ieee80211_setup_rates(ni, sp->rates, sp->xrates, IEEE80211_F_DOSORT);
--
-+ memcpy(&ni->ni_rates, &vap->iv_bss->ni_rates, sizeof(ni->ni_rates));
- if (ic->ic_newassoc != NULL)
- ic->ic_newassoc(ni, 1);
- /* XXX not right for 802.1x/WPA */