On Tue, 2013-09-17 at 08:48 +0300, Emmanuel Grumbach wrote: > __ieee80211_scan_completed is called from a worker. This > means that the following flow is possible. > > * driver calls ieee80211_scan_completed > * mac80211 cancels the scan (that is already complete) > * __ieee80211_scan_complete runs > > When scan_work will finally run, it will see that the scan > hasn't been aborted and might even trigger another scan on > another band. This leads to a situation where cfg80211's > scan is not done and no further scan can be issued. > > Fix this by setting a new flag when a HW scan is being > cancelled so that no other scan will be triggered. I'll apply this > + if (local->ops->cancel_hw_scan) { > drv_cancel_hw_scan(local, > rcu_dereference_protected(local->scan_sdata, > lockdep_is_held(&local->mtx))); > + } WIthout the extra braces. 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