hello johannes! i appreciate your feedback, but on a second thought, let me question this: On Wednesday 23 January 2008 23:48:49 Johannes Berg wrote: > Comments on the code now. > > > --- a/net/mac80211/ieee80211_sta.c > > +++ b/net/mac80211/ieee80211_sta.c > > @@ -80,6 +80,9 @@ static void ieee80211_rx_bss_put(struct net_device > > *dev, struct ieee80211_sta_bss *bss); static int > > ieee80211_sta_find_ibss(struct net_device *dev, > > struct ieee80211_if_sta *ifsta); > > +static int ieee80211_sta_join_ibss(struct net_device *dev, > > + struct ieee80211_if_sta *ifsta, > > + struct ieee80211_sta_bss *bss); > > No way, order the code properly, this mess needs to be cleaned up not > added to. do you care to explain what's so bad about function declarations? > > + if (sdata->vif.type == IEEE80211_IF_TYPE_IBSS && beacon && > > + !local->sta_sw_scanning && !local->sta_hw_scanning && > > + mgmt->u.beacon.capab_info & WLAN_CAPABILITY_IBSS && > > + memcmp(elems.ssid, sdata->u.sta.ssid, sdata->u.sta.ssid_len) == 0) > > { > > I think that needs a check "&& ssid_len" or something. Someone's bound > to try making an IBSS with a hidden SSID and we really don't want that > to work. why? i know, hidden SSIDs are pretty useless but if somedody wants them... why would you want to make extra effort so it does not work? > > + printk(KERN_DEBUG "%s: beacon TSF higher than local TSF" > > + " -> IBSS merge with BSSID %s\n", > > + dev->name, print_mac(mac, mgmt->bssid)); > > No way. At the very least you need to ratelimit this. well, it should not happen very often, and for debugging i would like to see this case. would if (CONFIG_MAC80211_IBSS_DEBUG || net_ratelimit()) printk(KERN_DEBUG "%s: beacon TSF higher than " be ok with you? regards, bruno - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html