Hi Johannes, Thanks for your comments. > > /* must hold dev->bss_lock! */ > > -void cfg80211_bss_expire(struct cfg80211_registered_device *dev) > > +static void __cfg80211_bss_expire(struct cfg80211_registered_device *dev, > > + int maxage, unsigned long expire_time) > > I don't really see why you need maxage and expire_time? > > > +void cfg80211_bss_expire(struct cfg80211_registered_device *dev) > > +{ > > + __cfg80211_bss_expire(dev, IEEE80211_SCAN_RESULT_EXPIRE, 0); > > Here, you could just pass "jiffies - SCAN_RESULT_EXPIRE" as the maxage > and get pretty much the same behaviour as before without a second > parameter. __cfg80211_bss_expire(dev, jiffies - IEEE80211_SCAN_RESULT_EXPIRE); This is similar to the code in v1 (below): __cfg80211_bss_expire(rdev, jiffies - request->scan_start); It may still have the small race condition you commented in v1? Please let me know if I misunderstood it. Thanks, Bing ��.n��������+%������w��{.n�����{���zW����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f