mirror_ubuntu-kernels/drivers/net/wireless/ath/wil6210
Dedy Lansky bcdd49b074 wil6210: store bss object and use cfg80211_connect_bss()
In a fast disconnect/connect sequence, cfg80211_connect_result() can
fail to find the bss object which the driver is connecting to. Detailed
sequence of events:
* Driver is connected in STA mode
* Disconnect request arrives from user space. Driver disconnects and
  calls cfg80211_disconnected() which adds new event to the
  cfg80211_wq worker thread
* Connect request arrives from user space. cfg80211_connect() stores
  ssid/ssid_len and calls rdev_connect()
* __cfg80211_disconnected() runs in worker thread and zero
  wdev->ssid_len
* Connect succeeds. Driver calls cfg80211_connect_result() which fails
  to find the bss because wdev->ssid_len is zero

To overcome this, upon connect request, store the bss object in the
driver and upon connect completion pass it to kernel using
cfg80211_connect_bss().

Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2017-03-09 10:04:23 +02:00
..
boot_loader.h wil6210: report boot loader error 2015-08-06 09:44:02 +03:00
cfg80211.c wil6210: store bss object and use cfg80211_connect_bss() 2017-03-09 10:04:23 +02:00
debug.c wil6210: align wil log functions to wil_dbg_ratelimited implementation 2016-05-28 11:19:29 +03:00
debugfs.c wil6210: convert symbolic permissions to octal permissions 2017-01-27 19:50:03 +02:00
ethtool.c wil6210: remove __func__ from debug printouts 2017-01-27 19:49:30 +02:00
fw_inc.c wil6210: support loading dedicated image for sparrow-plus devices 2017-01-27 19:49:26 +02:00
fw.c wil6210: support loading dedicated image for sparrow-plus devices 2017-01-27 19:49:26 +02:00
fw.h wil6210: extract firmware version from file header 2016-08-31 10:31:16 +03:00
interrupt.c wil6210: remove __func__ from debug printouts 2017-01-27 19:49:30 +02:00
ioctl.c wil6210: clean ioctl debug message 2016-03-07 11:43:20 +02:00
Kconfig wil6210: dump firmware memory when firmware crashes 2015-10-09 11:39:19 +03:00
main.c wil6210: store bss object and use cfg80211_connect_bss() 2017-03-09 10:04:23 +02:00
Makefile Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
netdev.c wireless-drivers-next patches for 4.11 2017-02-01 12:46:17 -05:00
p2p.c wil6210: remove __func__ from debug printouts 2017-01-27 19:49:30 +02:00
pcie_bus.c wil6210: set dma mask to reflect device capability 2017-03-09 10:04:00 +02:00
pm.c wil6210: remove __func__ from debug printouts 2017-01-27 19:49:30 +02:00
pmc.c wil6210: set dma mask to reflect device capability 2017-03-09 10:04:00 +02:00
pmc.h wil6210: Add pmc debug mechanism memory management 2015-05-04 20:55:43 +03:00
rx_reorder.c wil6210: remove __func__ from debug printouts 2017-01-27 19:49:30 +02:00
trace.c wil6210: trace support 2013-05-22 15:08:27 -04:00
trace.h wil6210: switch to generated wmi.h 2016-03-07 11:43:20 +02:00
txrx.c wil6210: set dma mask to reflect device capability 2017-03-09 10:04:00 +02:00
txrx.h wil6210: replay attack detection 2016-03-07 11:43:19 +02:00
wil6210.h wil6210: store bss object and use cfg80211_connect_bss() 2017-03-09 10:04:23 +02:00
wil_crash_dump.c wil6210: remove __func__ from debug printouts 2017-01-27 19:49:30 +02:00
wil_platform.c wil6210: support for platform specific crash recovery 2016-01-07 15:00:44 +02:00
wil_platform.h wil6210: add pm_notify handling 2016-05-28 11:19:25 +03:00
wmi.c wil6210: store bss object and use cfg80211_connect_bss() 2017-03-09 10:04:23 +02:00
wmi.h wil6210: align to latest auto generated wmi.h 2017-01-27 19:49:51 +02:00