John W. Linville wrote: > On Tue, Jul 01, 2008 at 04:48:48PM +0200, Vladimir Koutny wrote: >> Due to the fact that we (still) keep old BSS information, we can end >> up switching between 2 or more BSSIDs when in IBSS (these are the >> BSSIDs of networks with the same name we've seen before, even if they >> are not around anymore). This switching happens in 30sec intervals >> (IBSS merge attempt when no active STAs are around). >> >> This patch expires old BSS entries after IEEE80211_SCAN_RESULT_EXPIRE >> seconds (the same time after it will not be reported in scan results) >> when trying to merge. >> >> Signed-off-by: Vladimir Koutny <vlado@xxxxxx> > > This seems like a good thing to do, but the sta_bss_list is used in STA > mode too. Perhaps we should find a time to run ieee80211_bss_expire > in STA mode as well? Yes, probably. Any suggestions for a suitable place? (I'm not that familiar with the code..) It should probably be done on some timer (and probably also right before we try to associate?).. >> +static void ieee80211_bss_expire(struct net_device *dev, unsigned long exp_time) > > You probably want this positioned before (or > after?) ieee80211_rx_bss_free, and change the name to match. OK, moved and renamed to ieee80211_rx_bss_expire. >> @@ -3662,8 +3662,10 @@ static int ieee80211_sta_find_ibss(struct net_device *dev, >> spin_unlock_bh(&local->sta_bss_lock); >> >> #ifdef CONFIG_MAC80211_IBSS_DEBUG >> - printk(KERN_DEBUG " sta_find_ibss: selected %s current " >> - "%s\n", print_mac(mac, bssid), print_mac(mac2, ifsta->bssid)); >> + if (found) >> + printk(KERN_DEBUG " sta_find_ibss: selected %s current " >> + "%s\n", print_mac(mac, bssid), >> + print_mac(mac2, ifsta->bssid)); >> #endif /* CONFIG_MAC80211_IBSS_DEBUG */ >> if (found && memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0 && >> (bss = ieee80211_rx_bss_get(dev, bssid, > > Should the last hunk be a different patch? Oops - I've found this out at the same time I was doing the rest and I kept it in the same patch.. I'll split this. Vladimir > > John
Attachment:
signature.asc
Description: OpenPGP digital signature