diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-08-18 13:51:57 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-08-20 11:36:05 -0400 |
commit | ad002395fd230528281083f4be71855ed7e35b04 (patch) | |
tree | c2bccce17ad69dcfb454fe3a38ba68f0f210b5b5 /include/net/cfg80211.h | |
parent | 21f8a73f829797eb7ebc12202b4c68e10e751ddb (diff) |
cfg80211: fix dangling scan request checking
My patch "cfg80211: fix deadlock" broke the code it
was supposed to fix, the scan request checking. But
it's not trivial to put it back the way it was, since
the original patch had a deadlock.
Now do it in a completely new way: queue the check
off to a work struct, where we can freely lock. But
that has some more complications, like needing to
wait for it to be done before the wiphy/rdev can be
destroyed, so some code is required to handle that.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 0b146bb2dd14..3d874c620219 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1325,6 +1325,8 @@ struct wireless_dev { | |||
1325 | 1325 | ||
1326 | struct mutex mtx; | 1326 | struct mutex mtx; |
1327 | 1327 | ||
1328 | struct work_struct cleanup_work; | ||
1329 | |||
1328 | /* currently used for IBSS and SME - might be rearranged later */ | 1330 | /* currently used for IBSS and SME - might be rearranged later */ |
1329 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | 1331 | u8 ssid[IEEE80211_MAX_SSID_LEN]; |
1330 | u8 ssid_len; | 1332 | u8 ssid_len; |