diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-08-26 07:30:26 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-27 13:27:06 -0400 |
commit | 8789d459bc5e837bf37d261453df96ef54018d7b (patch) | |
tree | 5dbcabe5807de84f9119ab3654b998fd65ac0a40 /include/net | |
parent | 5f33c92d188add2a22ec524c03e0ab097e303d52 (diff) |
mac80211: allow scan to complete from any context
The ieee80211_scan_completed() function was a frequent
source of potential deadlocks, since it is called by
drivers but may call back into drivers, so drivers had
to make sure to call it without any locks held, which
frequently lead to more complex code in drivers. Avoid
that problem by allowing the function to be called in
any context, and queueing the actual work it does.
Also update the documentation for it to indicate this.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/mac80211.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index dcc8c2bf986e..8f97548b6d80 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -2268,7 +2268,8 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw); | |||
2268 | * | 2268 | * |
2269 | * When hardware scan offload is used (i.e. the hw_scan() callback is | 2269 | * When hardware scan offload is used (i.e. the hw_scan() callback is |
2270 | * assigned) this function needs to be called by the driver to notify | 2270 | * assigned) this function needs to be called by the driver to notify |
2271 | * mac80211 that the scan finished. | 2271 | * mac80211 that the scan finished. This function can be called from |
2272 | * any context, including hardirq context. | ||
2272 | * | 2273 | * |
2273 | * @hw: the hardware that finished the scan | 2274 | * @hw: the hardware that finished the scan |
2274 | * @aborted: set to true if scan was aborted | 2275 | * @aborted: set to true if scan was aborted |