On Fri, 2010-02-05 at 15:37 +0100, Benoit PAPILLAULT wrote: > Johannes Berg a écrit : > > On Thu, 2010-02-04 at 22:46 +0100, Benoit Papillault wrote: > > > > > >> Next, we merge even if the BSSID from the received beacon is the same as > >> our since merge can update more things that BSSID itself. This is > >> specifically true for ath9k where the merge updates TBTT timers as a > >> side effect and this is indeed needed if the TSF has been updated (if > >> TSF is updated, we need to update TBTT timers as well). > >> > > > > > >> @@ -373,10 +370,6 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata, > >> sdata->u.ibss.ssid_len)) > >> goto put_bss; > >> > >> - /* same BSSID */ > >> - if (memcmp(cbss->bssid, sdata->u.ibss.bssid, ETH_ALEN) == 0) > >> - goto put_bss; > >> - > >> if (rx_status->flag & RX_FLAG_TSFT) { > >> /* > >> * For correct IBSS merging we need mactime; since mactime is > >> > > > > NACK. This will create merges and merges and merges and merges whenever > > you use hardware that doesn't have accurate timestamps all the time. > > > > johannes > > > Humm... could you give an example? For hardware that don't have RX > timestamp, we will use the drv_get_tsf() function, this function will > only return a timestamp that is later than the real time at which the > beacon is received, so we can only miss IBSS merges in fact. Did I miss > something? There's hardware that also doesn't have get_tsf() johannes
Attachment:
signature.asc
Description: This is a digitally signed message part