On Tue, 2014-11-11 at 16:27 +0200, Jukka Rissanen wrote: > +static void nl80211_sched_scan_stop_wk(struct work_struct *work) > +{ > + struct cfg80211_sched_scan_request *req; > + struct cfg80211_registered_device *rdev; > + > + req = container_of(work, struct cfg80211_sched_scan_request, > + sched_scan_stop_wk); > + > + rdev = wiphy_to_rdev(req->wiphy); > + > + rtnl_lock(); > + __cfg80211_stop_sched_scan(rdev, false); > + rtnl_unlock(); > +} I think you'll need to do something like flush this (which probably isn't possible due to RTNL usage) when the interface disappears? Otherwise interface going down and socket closure could race, ifdown causing the request to be aborted by socket closure having scheduled the work ... that'd be troubling. johannes -- 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