Currently when the supplicant sends a connect with bssid_hint and
prev_bssid, driver issues a roam_invoke (fast reassoc) command to the
FW. However, when this connect is received in the supplicant context
and if the driver is currently processing a disassoc/deauth from the
AP in the mc thread, then the CSR roam connection state would not be
associated but the HDD STA context connection state would still be
associated. In this scenario, since the disconnection is in progress
and VDEV Down might already be sent to the FW, the roam_invoke command
is ignored and FW does not send any response. However the driver
assumes that roaming is in progress and blocks all incoming scan/
connect requests from supplicant leading to a state where no further
connections can go through.
In hdd_reassoc, check the CSR Connection state also to check if
the current state is associated and then issue roam_invoke to FW.
Change-Id: I321e99b060d6ce22517a3dd604b0f4d08dd5918d
CRs-Fixed: 2319641
During CAC wait if radar indication is found, SAP try to switch to
new channel. If this channel switch fails, SAP is stopped
internally.
This stopped indication is not handled if VDEV state is
START_RESTART_PROGRESS and thus vdev down is not sent to vdev FSM.
Handle SAP stop in START_RESTART_PROGRESS vdev state.
Change-Id: I92e48cc9a85249c88315fbb09fe1a61bd07983fd
CRs-Fixed: 2322996
HDD bus bandwidth handler runs every 100ms and enter, exit logs
at every 100 ms is over flowing driver log buffer hence remove
hdd_enter and hdd_exit logs from __hdd_bus_bw_work_handler.
Change-Id: Ia3a3163eebf442af7371bb0bcd09bccff1f199d9
CRs-Fixed: 2323286
HDD config params are getting used before creating and storing psoc
in hdd context which may cause NULL pointer dereference of psoc.
To mitigate this create psoc and parse cfg ini params just after
cfg_parse() in hdd_context_create().
Change-Id: Ida2b81eef0ebbfba2749ca89b63980201830a5e2
CRs-Fixed: 2321959
wlan_crypto_set_vdev_param() used in hdd_populate_crypto_auth_type(),
hdd_populate_crypto_akm_type() and hdd_populate_crypto_cipher_type()
is not defined when CONFIG_CRYPTO_COMPONENT is disabled
Change-Id: I5bccf391886d4db48a79ba67b903180ea626ad37
CRs-Fixed: 2321455
Restrict the band of PCL to the connected band if
intra band roaming is enabled
Change-Id: I78e9a29d7f8eb226e899e944e4d2980629c52a01
CRs-Fixed: 2302607
If the interface down is issued during the SSR the driver simply
rejects the interface down and silently initializes during the
reinitialization. This can result in resource leakages and also
results in upper layer and driver out-of-sync.
Hence mark the adapter that interface went down during ssr and
cleanup the same during the end of reinitialization so we can
cleanup all the resources.
Change-Id: I426eff3be09abdbafeaf7501df551ea7c49a0f47
CRs-Fixed: 2256433
When zero mac address is configured on nvram, the
hdd_open_adapter accepts the value and passes this zero mac to
csr_session_open where the self mac address is stored as zero
value mac and peer creation is done with the same. When peer
delete is sent to firmware with this mac, firmware asserts.
Add check to validate mac address value is not zero.
Change-Id: I077c29c98ef4e1b11e4c587224acd4405629fa83
CRs-Fixed: 2310499
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.
After I1aa67d0554400ed552dc488805ba3421531a26c3, replace the
remaining instances of hdd_psoc and finally remove hdd_psoc from
hdd_context.
Change-Id: If9a4941e18a75563f9ab978bd4b38bd1145e4ada
CRs-Fixed: 2312429
Enable QCA_WIFI_3_0 flag based on CONFIG_WIFI_3_0_ADRASTEA
and not based on CONFIG_ICNSS to enable it in Genoa.
Change-Id: I819fcbb637c4ed302cf71d32e83b113911270750
CRs-Fixed: 2317206
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.
After the introduction of hdd_context.psoc in
I9971c478c0d1dc111bb20a7cd6614f73ffb0b15d, replace more instances of
hdd_psoc with psoc.
Change-Id: I1aa67d0554400ed552dc488805ba3421531a26c3
CRs-Fixed: 2315992
Presently, in VHT case also, the HT MCS rate flag is being set when the
SGI is enabled. This is causing the kernel to misinterpret the rates.
Instead of getting the VHT rates, the kernel is enabling the HT rates.
This issue is not present in kernel 4.9 as the preference was given to
VHT rates. For kernel 4.14, the preference is given to HT rates thus
highlighting the problem.
To solve this issue, do not set the RATE_INFO_FLAGS_MCS for SGI enabled.
Change-Id: Icce5b661c3fee21fa4522f06ff54827238e0d255
CRs-Fixed: 2317669
Currently, in __wlan_hdd_cfg80211_dump_survey(), ETSI13 SRD channels
169 and 173 are not considered for filling channel survey info.
To fix this, consider ETSI13 SRD channels when WLAN_FEATURE_DSRC
is not defined.
Change-Id: I71307d58548304df6c1dcfa377dfe677a15db89f
CRs-Fixed: 2319454
In wma_extscan_find_unique_scan_ids() the TLV structures
for param_buf are pulled from the WMI message.
wma_extscan_find_unique_scan_ids parses the data (param_buf)
which is obtained from the firmware.
This parsing logic of rssi_list does not consider the
size of the list and thus results in an OOB access.
Fix is loop for the num_rssi_list and not the num of entries
Change-Id: Icf79b59a17b66ac858222b79589641787022572d
CRs-Fixed: 2316805
Add mlme cfg api functions to get EDCA parameters.
Also remove the legacy CFG item definitions.
Change-Id: I075240279e2cf3fda4424b77b7cfcf50ac9619f4
CRs-Fixed: 2316205
Add CFG items of RTT and PMF as generic items based
on converged cfg component.
Change-Id: Ic95d1e7b052259149704d9faf65ebe5f51536fdf
CRs-Fixed: 2313281
The DSC driver context was originally statically allocated to allow its
creation before QDF was initialized. However, other complications with
the QDF debug infrastructure lead to QDF being initialized before DSC
anyway.
Static allocation has a number of drawbacks (esp. see singleton
anit-pattern), which impacts our ability to do unit testing on a driver
which actively leverages DSC. To support unit-testing DSC in a driver
which also uses DSC, move the DSC driver context to dynamic, instead of
static, allocation.
Change-Id: Ic3121092c71d5c46e8521a775281ad2c45e3fe7d
CRs-Fixed: 2320599
Reorganize the SoC-level PLD callback handlers for improved consistency
and clarity. This includes the following changes:
* Remove wlan_hdd_probe()
* Rename wlan_hdd_remove() to hdd_soc_remove()
* Rename hdd_soc_reinit() to hdd_soc_recovery_reinit()
* Rename wlan_hdd_shutdown() to hdd_soc_recovery_shutdown()
* Add documentation to probe, remove, shutdown, and reinit handlers
* Avoid irq disable if load/unload in progress (in shutdown)
Change-Id: I8212f1cbbeac8cc431e3008097f62196911efdeb
CRs-Fixed: 2320582
When station does LFR3 roaming, tdls will get an extra disconnection
notification which is wrong, remove the notification because tdls has
got the disconnection and connection event when roaming is successful.
Change-Id: I7bc56dae5fd653a44d8ac19be19083528c987d8b
CRs-Fixed: 2308503