- replace the ftm command/event handle with common interfaces
- remove the event register from wma
- reconfigure the target_if_handle for FTM mode
- separate change will be raised to cleanup legacy code
Change-Id: If8e2dfc4c6bb400406be5d0d3fa53422db5c6fb5
CRs-fixed: 2162168
It's possible that FW crashes during driver unload hence avoid panic
in driver inactivity op timer handler if fw is already down.
Change-Id: I43b520fe064ede919f5f98674d98e8861fd9a414
CRs-Fixed: 2167265
Do not schedule uc_op_work inside uC ready callback, when the
uc_op_work is not initialized.
So, if the uC ready callback is invoked before hdd_ipa_ol_init(),
just set uc_loaded flag and return, without scheduling uc_op_work.
Change-Id: I9c813047ab4b1b129e4fb057d8aacbef5cc9efea
CRs-Fixed: 2169668
Add changes to validate MIC for the received protected
MC/BC frames with GMAC group management cipher suite.
Change-Id: Ie5f60674a452d2d930acc9ff9eb55de37645097a
CRs-Fixed: 2164828
When hdd_abort_mac_scan_all_adapters is called from hdd_wlan_exit,
an event is posted from the host to the FW to abort active scans.
Once the response is received from the FW, scan callback function is
called and the current scan command is released from the active list.
Also, as part of csr_stop happening during WLAN exit, csr_cleanup_session
tries to release all the commands from the pending and active scan lists.
This happens in the context which triggers wlan_exit and not in sync with
mc_thread.
In a race condition, the release from csr_cleanup_session happens
while the mc_thread is trying to do csr_release_command_scan leading
to NULL pointer access.
In hdd_abort_mac_scan_all_adapters function, call wlan_abort_scan
with sync flag as true to wait for scan events to complete before
proceeding with purge
Change-Id: Idc5fb3d9bdb1b16b110526d2ee68b2a04192733e
CRs-Fixed: 2171190
ECSA capability has been updated up on start bss completion event
as part of I1d7892bb1dc4e490a587e8372a4bdc7f419e8b36. Correct way
of updating ECSA capability for peer STA is up on association
completion event. Move current assignment of ECSA cap from start
bss event to association/reassociation event.
Change-Id: I83ff6ac41444e2f865e03050ffcbd6732fced412
CRs-Fixed: 2169665
Tdls mgmt frames are data packets and sent through driver's data patch.
Remove the invert logic for mgmt frame.
Change-Id: I5f92efeffcb2b6dd12d131eabacff5b5b6425d5c
CRs-Fixed: 2171921
Remove overlap protection cache from lim and make use
of existing pe session caches.
Change-Id: Ifbabb3da1dad6504e5024643182af1c88ae2ca40
CRs-Fixed: 2170187
hdd_get_adapter_by_vdev() is an utility function, and shouldn't
have the error message inside the function. Caller can log the
error message based on the return value.
This change will reduce the excessive logging in the system.
Change-Id: I64d7a0e3e180a636d710b42837ff3a982853fb12
CRs-Fixed: 2164658
For RRM scan requests, pass the frequency instead of
channel number in the scan request since the new scan
component expects a frequency.
Change-Id: I93d9ea7b1ff406c3f19692add2e3b6532a50ae0b
CRs-Fixed: 2155488
When ACS scan fails due to some reason, the default channel will
be configured based on ACS band and channel range config, but
the channel and band configs are not indicated to hostapd in a
proper way.
Add code for fail-safe channel and band config indication to
hostapd when ACS scan fails.
Change-Id: Ibbafbc7b853e753cee5563ab64c12c81c3fe54e2
CRs-Fixed: 2166815
Function sme_rrm_issue_scan_req issues scan request, which consumes
an allocated channel list and frees it later. It should also free the
scan list in same context for all the paths that do not issue the scan
request or when the channel list is parsed completely. Fix the memory
leak by making sure all such paths where scan request is not issued,
channel list is freed.
Change-Id: I561c3e03beaa5a809b5be1dd0c9dc73312e3c102
CRs-Fixed: 2166647
SIR_SCAN_EVENT_FOREIGN_CHANNEL event passed vdev_id, not PE
session id, can't use pe_find_session_by_session_id to get PE
session, should use pe_find_session_by_sme_session_id
smeSessionId is same as vdev_id.
vdevi_id isn't same as pe session id during following STA-P2P
case:
3 vdevs: STA(vdev0), P2P(vdev1), P2P Go(vdev2)
2 PE sessions: 0: P2P Go(vdev2), 1: STA(vdev0)
STA vdev is created before P2P, but P2P session is created
before STA, P2P connection happened before STA connection.
LFR2 pre-auth happened on vdev0, but PE session 1.
Change-Id: If0d634e84316cf0f19edac57d99ad8a9c1273279
CRs-Fixed: 2172029
Add ini to configure BTM offload configuration
which is sent to firmware as part of RSO start
via wmi btm config cmd.
Change-Id: I69c792705b208014af8f1878f7645d957dde6c06
CRs-Fixed: 2109793
Remove redundant assert message from WMA if vdev is down as
proper error code and error log message is returned to the caller.
Change-Id: I0430cf87620452a8d2973b1d6711c687a887e270
CRs-Fixed: 2171676
Add following 11ax checks while processing assoc request:
1) If SAP is 11AX only - reject non 11ax STA
2) If connecting STA does not support basic HE MCS as
advertised by SAP then reject STA connection
Change-Id: Ic2aee9ee92a189ca611a1264dcc23b4b93e0d856
CRs-Fixed: 2159243
Upon receiving IOCTL RXFILTER-ADD or RXFILTER-REMOVE, driver compares
this string with the list of supported cmd strings. It uses
strncasecmp for comparison, the length of comparison is the length of
the string from the cmd list. Since position of RXFILTER is before
RXFILTER-ADD/REMOVE and only length of RXFILTER is matched with the
incoming command, it gives a false hit. This causes the IOCTL to be
ignored since the handler for RXFILTER is a dummy handler.
Calculate and use length of incoming cmd string for string comparison.
Change-Id: Ifd21d5371adb54882231c02b6c0a643258d028ae
CRs-Fixed: 2158443
Currently, pdev destroy is before cds_close and
scheduler_disable. Some pending msg in scheduler
may hold ref count on vdev.
scheduler_flush_mqs will release all the vdev ref
and get vdev freed.
That may cause pdev freed before vdev and get
issue in wlan_objmgr_vdev_obj_free.
Fix by destroy pdev after all possible vdev ref
released (cds_close).
Change-Id: I8e898f6c63fa298f2c63c5fc19706208b8580a60
CRs-Fixed: 2156577
Currently in cds_enable, no check is performed against the return
value of dispatcher_psoc_enable. Add it accordingly.
Change-Id: Ie8119b5581fb13723dd5cd3c7e22477df51005f4
CRs-Fixed: 2168212
To use the new wlan reg API
wlan_reg_get_current_chan_list to get current
chan list.
Change-Id: I8b57e425dfb8c27e8c7b013107fb92fd0d08bc34
CRs-Fixed: 2168335
Do not send power save disable command to FW in disconnected state
as the power save is already disabled when STA is disconnected and
FW does not expect powersave commands after VDEV is down
Change-Id: Iea5a564f1a57f7fa4b8d9c96296d2c2e82c92775
CRs-Fixed: 2171113
Two clang issues reported in csr_api_roam.c and dot11f.c for
unwanted NULL Checks.
Remove the below unwanted NULL checks:
1. for fils_info->keyname_nai in csr_update_fils_params_rso function
2. for gp_mgmt_cipher_suite in RSN IE for pack and get_packed_size
functions.
Change-Id: Ifd3a5772ee8b604d06293b6d4ebd3a049aebd3cd
CRs-Fixed: 2167373
Make sure to delete the client peer objects for P2P GO mode to avoid peer
object leaks during SSR. Refine some logs for SSR for better readability.
CRs-fixed: 2171112
Change-Id: Icd691df90f3e0583ffe72d0025dbff4713d82a84
Adds support for INI "force_rsne_override" and vendor interface to
enable test mode to force rsne override. Once force rsne override
is set the driver will use the RSN IE's as-is from the connect
request. Exclusively used for the scenarios where the device is used as
a cert test bed and not recommended for production.
With force_rsne_override enabled in INI and once enabled from vendor
command driver will not validate the RSN IE's passed from user space
and thus induce improper IE as it is to test the peer.
Once the force_rsne_override is set, it will be active until its
disabled by vendor interface or driver unload.
If INI force_rsne_override is disabled, the force rsne override mode
cannot be enabled by vendor command.
Change-Id: Ic58474e7a18e6c1f944c61783f630af3953011c0
CRs-Fixed: 2164526
Currently, firmware fills the num variables value of param_tlvs
structure for all wmi commands. But during buffer write the fixed param
values are used to check maximum limit of buffer in wmi commands.
Due to multiple length definition of num variable in WLAN FW message,
num variables of param_tlvs may not equal to max limit defined in
fixed_param, resulting OOB issues in WLAN FW messages during buffer write.
Add sanity check to make sure that num variables value doesn’t exceed max
limit of num value defined in param_tlvs.
Change-Id: I43c15557057ab5b900f19b9f54426dcdf85e2c27
CRs-Fixed: 2153638
Move module init/deinit and function entry/exit logs to DEBUG level,
and keep only minimum logs in kernel log buffer.
Change-Id: Ia9fe82934638683079d308acfc9e7014e1d1a0e3
CRs-Fixed: 2169416
Roaming is allowed only on wlan0 interface and is not allowed by
default on any other STA interface.
With this change, roaming will be allowed on all the STA interface
with below conditions:
- At a time only one STA interface will have roaming enabled.
- STA which connects first will enable the roaming.
- Whenever a STA connects and if roaming is not enabled on
any STA interface, roaming will be enabled on the connected STA.
- Whenever a STA on which roaming was enabled disconnects, if any
other STA interface is present and is in connected state, the
roaming will get enabled on the other STA interface.
Change-Id: I4c7654480ad893eb1635138447e1a0b37abf1ac4
CRs-Fixed: 2166972