On Sat, 2007-11-24 at 21:48 +0000, Dave wrote: > > > Dan Williams wrote: > > Bring scan result handling more in line with drivers like ipw. Scan > > results are aggregated and a BSS dropped after 15 seconds if no beacon > > is received. This allows the driver to interact better with userspace > > where more than one process may request scans or results at any time. > > I've only seen this recently, and am using it as a basis for some other changes. However I've noticed a couple issues: Will clean up these and submit for 2.6.25 then, thanks. Dan > > +static int orinoco_process_scan_results(struct net_device *dev, > > + unsigned char *buf, > > + int len) > > +{ > <snip> > > + /* Try to update an existing bss first */ > > + list_for_each_entry(bss, &priv->bss_list, list) { > > + if (compare_ether_addr(bss->bss.a.bssid, atom->a.bssid)) > if (!compare_ether_addr(bss->bss.a.bssid, atom->a.bssid)) > > So that we proceed to the next bss when ether_addr doesn't match. Otherwise this loop never matches. > > > + continue; > > + if (le16_to_cpu(bss->bss.a.essid_len) != > > + le16_to_cpu(atom->a.essid_len)) > > + continue; > > + if (memcmp(bss->bss.a.essid, atom->a.essid, > > + le16_to_cpu(atom->a.essid_len))) > > + continue; > memcpy(&bss->bss, atom, sizeof(bss->bss); > > So we actually update the scan results when we find an older set. > > > HTH, > > Dave. > > PS. I couldn't figure how I could get a copy of this message to reply to, so this is going through gmane. Apologies if this confuses things, or doesn't come out right. > > > - > 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 - 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