c2fb1d7a25b24610c73a5447a330fbf7a61cae60
[openwrt-10.03/.git] / package / mac80211 / patches / 200-mac80211_ibss_fix.patch
1 --- a/net/mac80211/ibss.c
2 +++ b/net/mac80211/ibss.c
3 @@ -382,6 +382,7 @@ static void ieee80211_rx_bss_info(struct
4  struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata,
5                                         u8 *bssid,u8 *addr, u32 supp_rates)
6  {
7 +       struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
8         struct ieee80211_local *local = sdata->local;
9         struct sta_info *sta;
10         int band = local->hw.conf.channel->band;
11 @@ -397,6 +398,9 @@ struct sta_info *ieee80211_ibss_add_sta(
12                 return NULL;
13         }
14  
15 +       if (ifibss->state == IEEE80211_IBSS_MLME_SEARCH)
16 +               return NULL;
17 +
18         if (compare_ether_addr(bssid, sdata->u.ibss.bssid))
19                 return NULL;
20