android_kernel_motorola_sm6225/net/wireless
Jouni Malinen bf1ecd2105 cfg80211: Allow cfg80211_connect_result() errors to be distinguished
Previously, the status parameter to cfg80211_connect_result() was
documented as using WLAN_STATUS_UNSPECIFIED_FAILURE (1) when the real
status code for the failure is not known. This value can be used by an
AP (and often is) and as such, user space cannot distinguish between
explicitly rejected authentication/association and not being able to
even try to associate or not receiving a response from the AP.

Add a new inline function, cfg80211_connect_timeout(), to be used when
the driver knows that the connection attempt failed due to a reason
where connection could not be attempt or no response was received from
the AP. The internal functions now allow a negative status value (-1) to
be used as an indication of this special case. This results in the
NL80211_ATTR_TIMED_OUT to be added to the NL80211_CMD_CONNECT event to
allow user space to determine this case was hit. For backwards
compatibility, NL80211_STATUS_CODE with the value
WLAN_STATUS_UNSPECIFIED_FAILURE is still indicated in the event in such
a case.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
[johannes: fix cfg80211_connect_bss() prototype to use int for status,
 add cfg80211_connect_timeout() to docbook, fix docbook]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2016-05-31 15:22:15 +02:00
..
.gitignore wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
ap.c cfg80211: export interface stopping function 2014-05-06 15:16:34 +02:00
chan.c cfg80211: make wdev_list accessible to drivers 2016-05-12 11:16:40 +02:00
core.c cfg80211: make wdev_list accessible to drivers 2016-05-12 11:16:40 +02:00
core.h cfg80211: Allow cfg80211_connect_result() errors to be distinguished 2016-05-31 15:22:15 +02:00
db.txt wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
debugfs.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
ethtool.c cfg80211: make ethtool the driver's responsibility 2014-06-23 11:05:33 +02:00
genregdb.awk wireless: fixup genregdb.awk for remove of antenna gain from wireless-regd 2014-07-21 12:24:20 +02:00
ibss.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
Kconfig cfg80211: Fix some linguistics in Kconfig 2016-02-24 09:04:23 +01:00
lib80211.c lib80211: remove unused print_ssid() 2014-10-14 02:18:27 +02:00
lib80211_crypt_ccmp.c lib80211: ratelimit key index mismatch 2015-12-04 14:43:32 +01:00
lib80211_crypt_tkip.c lib80211: Use skcipher and ahash 2016-01-27 20:36:03 +08:00
lib80211_crypt_wep.c lib80211: Use skcipher and ahash 2016-01-27 20:36:03 +08:00
Makefile cfg80211: 802.11p OCB mode handling 2014-11-04 13:18:17 +01:00
mesh.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
mlme.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
nl80211.c cfg80211: Allow cfg80211_connect_result() errors to be distinguished 2016-05-31 15:22:15 +02:00
nl80211.h cfg80211: Allow cfg80211_connect_result() errors to be distinguished 2016-05-31 15:22:15 +02:00
ocb.c cfg80211: ocb: Fix null pointer deref if join_ocb is unimplemented 2015-12-04 14:43:32 +01:00
radiotap.c cfg80211: add radiotap VHT info to rtap_namespace_sizes 2016-02-24 09:04:41 +01:00
rdev-ops.h cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
reg.c cfg80211: make wdev_list accessible to drivers 2016-05-12 11:16:40 +02:00
reg.h cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
regdb.h cfg80211: relicense reg.c reg.h and genregdb.awk to ISC 2012-01-04 14:30:41 -05:00
scan.c cfg80211: allow finding vendor with OUI without specifying the OUI type 2016-05-12 11:15:42 +02:00
sme.c cfg80211: Allow cfg80211_connect_result() errors to be distinguished 2016-05-31 15:22:15 +02:00
sysfs.c cfg80211: make wdev_list accessible to drivers 2016-05-12 11:16:40 +02:00
sysfs.h net: misc: Remove extern from function prototypes 2013-10-19 19:12:11 -04:00
trace.c cfg80211: add tracing to rdev-ops 2012-10-18 10:53:37 +02:00
trace.h cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
util.c cfg80211: make wdev_list accessible to drivers 2016-05-12 11:16:40 +02:00
wext-compat.c wext: remove a/b/g/n from SIOCGIWNAME 2016-05-02 22:48:09 +02:00
wext-compat.h cfg80211-wext: export symbols only when needed 2015-02-28 21:31:09 +01:00
wext-core.c wext: unregister_pernet_subsys() on notifier registration failure 2016-04-05 10:48:44 +02:00
wext-priv.c wext: fix potential private ioctl memory content leak 2010-09-20 13:41:40 -04:00
wext-proc.c net: proc: change proc_net_remove to remove_proc_entry 2013-02-18 14:53:08 -05:00
wext-sme.c wireless: Use eth_<foo>_addr instead of memset 2015-03-03 17:01:38 -05:00
wext-spy.c wireless: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:19 -04:00