]> git.baikalelectronics.ru Git - kernel.git/commit
cfg80211: Handle bss expiry during connection
authorChaitanya Tata <chaitanya.tata@bluwireless.co.uk>
Wed, 1 May 2019 12:55:24 +0000 (18:25 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 28 May 2019 07:35:39 +0000 (09:35 +0200)
commitc743bd51c60105312a13ccdb7dcb6b9d7f5dd903
treed9dc6949a0dc8ad884a344b0d5cd71e662ab95e7
parentc6e7f2e6f647f50b992a2582ed626e0ac8a31258
cfg80211: Handle bss expiry during connection

If the BSS is expired during connection, the connect result will
trigger a kernel warning. Ideally cfg80211 should hold the BSS
before the connection is attempted, but as the BSSID is not known
in case of auth/assoc MLME offload (connect op) it doesn't.

For those drivers without the connect op cfg80211 holds down the
reference so it wil not be removed from list.

Fix this by removing the warning and silently adding the BSS back to
the bss list which is return by the driver (with proper BSSID set) or
in case the BSS is already added use that.

The requirements for drivers are documented in the API's.

Signed-off-by: Chaitanya Tata <chaitanya.tata@bluwireless.co.uk>
[formatting fixes, keep old timestamp]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
net/wireless/core.h
net/wireless/scan.c
net/wireless/sme.c