aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-11-19 06:45:42 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-11-19 11:09:02 -0500
commita58ce43f2fb17b728395ff530f019ca53c80145f (patch)
tree1de5d2680d42de12902ccb85e99bc86f63eebf58 /include/net/cfg80211.h
parent7351c6bd482712e5e3ec9dffc547de0e0863efb0 (diff)
mac80211: avoid spurious deauth frames/messages
With WEXT, it happens frequently that the SME requests an authentication but then deauthenticates right away because some new parameters came along. Every time this happens we print a deauth message and send a deauth frame, but both of that is rather confusing. Avoid it by aborting the authentication process silently, and telling cfg80211 about that. The patch looks larger than it really is: __cfg80211_auth_remove() is split out from cfg80211_send_auth_timeout(), there's no new code except __cfg80211_auth_canceled() (a one-liner) and the mac80211 bits (7 new lines of code). 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.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index d1e05aeb0c09..a6492e9bca97 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1839,6 +1839,18 @@ void cfg80211_send_rx_auth(struct net_device *dev, const u8 *buf, size_t len);
1839void cfg80211_send_auth_timeout(struct net_device *dev, const u8 *addr); 1839void cfg80211_send_auth_timeout(struct net_device *dev, const u8 *addr);
1840 1840
1841/** 1841/**
1842 * __cfg80211_auth_canceled - notify cfg80211 that authentication was canceled
1843 * @dev: network device
1844 * @addr: The MAC address of the device with which the authentication timed out
1845 *
1846 * When a pending authentication had no action yet, the driver may decide
1847 * to not send a deauth frame, but in that case must calls this function
1848 * to tell cfg80211 about this decision. It is only valid to call this
1849 * function within the deauth() callback.
1850 */
1851void __cfg80211_auth_canceled(struct net_device *dev, const u8 *addr);
1852
1853/**
1842 * cfg80211_send_rx_assoc - notification of processed association 1854 * cfg80211_send_rx_assoc - notification of processed association
1843 * @dev: network device 1855 * @dev: network device
1844 * @buf: (re)association response frame (header + body) 1856 * @buf: (re)association response frame (header + body)