Currently the BLM removes the entry if the difference
between connect and disconnect is greater than the
blm bad bssid reset time.
This could lead to removal of those APs also which
are in rssi reject list too.
Fix is to remove the APs if not present in other list
other than avoid, black (driver).
Change-Id: Iae0edbd093546921e36ce4ed511450617e675adf
CRs-Fixed: 2485750
Currently, macro is used instead of destination size
to copy KEK pmo_gtk_req to kck and kek of
WMI_GTK_OFFLOAD_CMD_fixed_param.
Fix is to Copy KEK bytes from pmo_gtk_req same as the size of
cmd->kek i.e destination address to avoid macro change if size
of cmd->kck changes in future.
Change-Id: I06705f25682d950c35a3fb9bd0413ddf46e04ab4
CRs-Fixed: 2477212
AP may send IEs in deauth/disassoc frames as part of disconnection.
Extract the same and forward to kernel through
cfg80211_disconnected().
Change-Id: I4ef339dcd1ecff64d6bed1de35621ecce5d8030a
CRs-Fixed: 2481912
disconnect_ies sent from userspace are cached in vdev mgr object.
Send the same in deauth/disassoc frames initiated from the driver.
Free the IEs once the frame is sent out successfully.
Change-Id: Ib223a9da7f5795bc10d717efe23c6106391070bb
CRs-Fixed: 2481909
Application sends disconnect IEs to driver through vendor command
SET_WIFI_CONFIGURATION by embeding in the attribute
QCA_WLAN_VENDOR_ATTR_DISCONNECT_IES. Extract the same and validate
to make sure it's not more than maximum IE length that can be
accomodated in deauth/disassoc frame. Cache the extracted IEs
in mlme vdev object.
Change-Id: I6c95aa1d4d8ef7d8ed3ad5be8832ef1f45c26a2f
CRs-Fixed: 2481908
Policy manager PCL list is invalid for SAP in case of
NAN Disc + STA case. As per design NAN will be disabled
internally in driver, resulting in STA+SAP concurrency.
Thus update Policy manager PCL tables for allowing SAP
in case of NAN Disc + STA concurrency mode.
Change-Id: I7480f662c287e38c7e71448384cff9738e94e3f7
CRs-fixed: 2480370
Currently both system and runtime PM resume are clearing
wow applicable flag and when runtime PM suspend and suspend
are happening in parallel wow applicable flag value is lost
and host is by mistake enabling pdev suspend instead of wow
suspend. Move the logic to clear wow applicable flag to suspend
configuration path such that every time when either runtime pm
or system suspend is enabled correct wow parameter is chosen.
Change-Id: I821dd5cd23493611dfc5a1c3ebf706defe785b6d
CRs-Fixed: 2475227
wlan_ipa_w2i_cb is notify cb for IPA RX terminated
scenario and therefore it is invoked on a per-packet
basis.
qdf_op_protect and qdf_op_unprotect leads to ~100mbps
througput degradation for IPA RX terminated scenario
on MDM platforms. Thus remove qdf_op_protect and
qdf_op_unprotect on MDM platforms as a temporary
workaround to unblock releases and meet KPI. Note that
this will be revisited.
Change-Id: I1cab0581288456662ee4aa5d63df1b0f1213436b
CRs-Fixed: 2469073
Add ini gBtScoAllowWlan2GScan to support BT SCO-WLAN coex.
Using this ini can control whether allow wlan 2g scan or not
when BT SCO connection is on.
Change-Id: Ia63b1ff92e75937487827c34bca1d2e1c289962d
CRs-Fixed: 2464679
Flush the reject ap list from the BLM when the user does
a explicit wifi off from the UI to ensure the user is able
to connect next time the wifi is turned on.
Change-Id: Ia8cdd6aa7e3357fc0def100cb13c6e25c1e0a62e
CRs-Fixed: 2470087
Currently there is no ini support to configure frequencies
which needs to be avoided for the acs channel list which
may allow SAP to come up on a channel which is not preferred.
For Example there are many legacy clients which supports
2.4GHz but don't support channel 12 and 13 (or does not have
the capability to detect country change where channel 12 and
13 is valid).
In that case, if SAP comes up on channel 12/13, those legacy
clients won't be able to connect to AP.
Hence, Add a feature flag and ini to configure the frequency
list which can be avoided during acs.
Change-Id: Id106b38228f837ba056eb916004dc012e919ddd2
CRs-Fixed: 2472004
Remove redundant initialization for local variable dfs_master_capable
and always pass check for skip_dfs_channel in policy_mgr_skip_dfs_ch.
Change-Id: Icf3ca4e297a54646114d414f1d0bd8543e59ea37
CRs-Fixed: 2482890
It just support to tx probe respnse and action frames currently. So
add this change to support to tx probe reqest frame.
Change-Id: I4899eeca80958990aff2ec5eac3226f9a37ccbf3
CRs-Fixed: 2481346
Add new g_sta_sap_scc_on_dfs_chan value 2 with below
enhancement:
a. Allow single SAP (GO) start on DFS channel.
b. Allow CAC process on DFS channel in single SAP (GO) mode
c. Allow DFS radar event process in single SAP (GO) mode
d. Disallow CAC and radar event process in SAP (GO) + STA mode.
Change-Id: I47fdccda3314681806fa999cb01ee62052434e50
CRs-Fixed: 2465644
Do not configure legacy rate to FW if it is HE connection, otherwise
FW does not work.
Change-Id: I31d167ee79b7b58cabad29e65cf6834a7151093d
CRs-Fixed: 2472811
The old change I7e5a21601642e0d6afef73beeecf80a3e0475909
is missing when new scan mgr introduced, re-design the
change.
If DFS AP present, station scan 5g chanlist should be
avoided if target doesn't support Agile DFS Scan in Single
MAC mode. And also if current hw mode is DBS, the 5g chan
scan is not allowed as well.
1) if agile & DFS scans are supported
2) if hardware is DBS capable
3) if current hw mode is non-dbs
If all above 3 conditions are true then don't skip any
channel from scan list.
Change-Id: I3773c1c63ea3f33db6f6ee2c31cb5d09d3c2ae71
CRs-Fixed: 2471542
Driver will reject with channel 0 when check channel ok for DNBS,
without this fix, wlan_cfg80211_mgmt_tx API will fail when channel is zero.
Change-Id: I89edc81c45104d0994cd65262c1f5545f0f6970f
CRs-Fixed: 2476420
Add ini support for FIPS 4-way hanshake offload to firmware. FIPS
offload feature will add support to handle LFR 3.0 connection only
(auth/reassoc). If this ini is set then firmware will offload
4-way HS to supplicant. In the Roam sync indication firmware will
inform connected and not authenticated so that supplicant can take
care of 4-way HS.
Change-Id: I3da58910218ffc57094cac4c3cab4572631d9404
CRs-Fixed: 2459182
In P2P GO mode, if the P2P client device is not VHT capable and
only HT capable, but the DUT P2P GO is VHT capable and advertises
2x2 NSS and sends packets with 2x2 rates, it results in interop
issues with HT only capable P2P client devices.
When GO is operating in DBS mode, GO beacons advertise 2x2
capability but include OMN IE to indicate current operating mode
of 1x1. But here peer device is only HT capable and will not
understand OMN IE.
Check if the P2P client device is only HT capable and has
"\x00\x50\xf2\x04". Then downgrade the P2P GO operation to 1x1
nss. Modify rx mcs map value in association response to enable
only mcs 0-7.
Change-Id: I7177c5aee9a560a20c50a63886c0ee77f7d617ae
CRs-Fixed: 2464925
Firmware expects btm_offload_config value as 0x1c1 by default
so that BTM query is enabled. To enable BIT 7, "prefer_btm_query"
ini is used and its default value is 1. To enable BIT 8 in
btm_offload_config, "prefer_roam_score_for_candidate_selection"
ini is used and its default value is 1. Enable the BIT 6 also
by default.
Change the default value of btm_offload_config to set bit 6 by
default.
Change-Id: Ic0b222c281d1731aaf21aaff6a72ebf1f1f930de
CRs-Fixed: 2466687
Since system is awake when runtime PM suspend/resume happens, there is
no need to send DTIM related WMI commands with WOW sequence during runtime
PM resume as unlike system suspend, these commands are able to be sent from
other paths. It will just trigger runtime PM resume which is expected
behavior.
Change-Id: I51d0f45c0223a0c0e3c61bbcb7135a590359b08d
CRs-Fixed: 2475111
In function tdls_ct_idle_handler, idx is assigned from
tdls_info->index which can be 0 254. But tdls_conn_info
is static array in tdls_soc_priv_obj of size
WLAN_TDLS_STA_MAX_NUM (8). So check idx is less than
WLAN_TDLS_STA_MAX_NUM or not to avoid OOB memory access.
Change-Id: I8387cb0a44a79f0f83b25c12de2aa9fbc39ab2f3
CRs-Fixed: 2474432
Currently the driver checks that DBS for connection
is allowed or not, and on that basis rejects the scan,
but it may happen that FW supports DBS, and DBS for
scan is enabled in the ini, but the DBS for connection
is disabled.
In that case the diver opts for non-dbs scan.
Fix is to allow DBS scan in case of DBS scan enabled in ini.
Change-Id: I9feccdb434787f9ae1b87397b9c7a25cb2e40705
CRs-Fixed: 2473835
During resource unloading, if two next to next client connect
request comes, one is handled in pending event handler in
wlan_ipa_uc_op_cb callback after processing FW TX suspend response
and other one is handled in scheduler thread, this causes race
condition in sending IPA offload enable for STA iface. So send IPA
enable req to FW before queuing the client connect event to the
pending events.
Change-Id: Ifcabc2481e590e5e128434614c4b46fe53a34636
CRs-Fixed: 2460573
In the API blm_update_ap_info, it may happen that the scan
entry is NULL, and the scan entry pointer maybe dereferenced
in the debug print where the rssi print is there.
Fix is to print the RSSI only when the scan entry is valid.
Change-Id: I3ad973d61a0c11b6a55c8b346d54eb41956882b6
CRs-Fixed: 2469815
In ndi_remove_and_update_primary_connection() of NAN component,
add missing NULL checks for psoc and vdev NAN private objects
to avoid possible NULL dereference.
Change-Id: Iff3e248259ab67628d081d30f16d1822a0ea6dcb
CRs-Fixed: 2423991
Set the max_station config correctly at wma_open instead of using
the default value.
Change-Id: I63cd05462351359fbdcaae03dbdff940817b9bde
CRs-Fixed: 2468829
Since system is awake when runtime PM suspend/resume happens, there is
no need to send DTIM related WMI commands with WOW sequence as unlike
system suspend, these commands are able to be sent from other paths. It
will just trigger runtime PM resume.
Change-Id: I5bc6b5e363e90c77a2d615129fbac69fc80366ea
CRs-fixed: 2469483
Update the bad bssid reset time in Ms, and compare with the
connection age to remove the BSSID with which the nud fail
has not happened till the mentioned bad bssid reset time.
Change-Id: I6ba58d5e8a110b4c83d5c83e3cec6c832a24094b
CRs-Fixed: 2469969
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.
Change-Id: I0bd9248122b4f49274ee05a225ce6f880fede0cb
CRs-Fixed: 2468414
Remove the BSSID entry from the blacklist manager reject ap list
when the bad bssid counter gets over.
Change-Id: I833d161d97afd5c13a23ae48b1aded38d55b25e4
CRs-Fixed: 2468236
Update 2x2 dbs PCL table and DBS action tables
to support P2P GO + P2P GO + STA concurrency cases.
Change-Id: I87b77c64083f7e398fcec9f4efc60a887e18e7ef
CRs-Fixed: 2464109
Host failed to send legacy d0wow disable command due to failure
in target suspend flag check during resume.
Update target suspend flag in legacy d0wow enable.
Change-Id: I497c46b90a8fb5deb78ce31fb6e5b0d2c76d723d
CRs-Fixed: 2460452
Set BSSID state as disconnected when roaming is successful
so that blacklist manager can clear the AP info if the
nud failure did not come for blacklist reset time value.
Change-Id: Ie602c02d7a43b46daa7f1b1f85cd98628da91280
CRs-Fixed: 2467319
Set remaining duration of BSSID according to type of
list it is in. For eg. the remaning duration of avoid
list type would be the avoid list timer value minus the
time for which it is in blacklist manager's reject
ap list.
Change-Id: I0f9ed9e04ab6a5fbdc79521b20f0afd8f8028855
CRs-Fixed: 2466191
Clear the userspace blacklist info when a new
command for set blacklist BSSID comes to the driver
even if the userspace sends zero BSSIDs.
Change-Id: Ic2e310359d8e83c0821a0c4c8fedd90e81998627
CRs-Fixed: 2464948
Fill the reject ap type as the one requested by the user
in the reject ap list.
Change-Id: Ie26180293e4b0c5c212ebcd31a15fd93f9150f8e
CRs-Fixed: 2464748
In function mlme_init_vht_cap_cfg(), initialization of
CFG_VHT_SU_BEAMFORMEE_CAP is done using the cfg_default() api,
which always returns the default value irrespective of the
ini configured.
Use cfg_get() api to get the default value of ini items.
cfg_get() api use gTxBFEnable ini for SU beamforce caps
Change-Id: I17062548931b5032dfdd56652ddaef2b96c8864e
CRs-Fixed: 2462350
It won't send mgmt frame with NULL channel information currently,
which is different to other branches. Add this change because up layer
pass NULL channel information when tx mgmt frame in some platform.
Change-Id: I689d64789187fe0df03ed57ef0ff10c5157aeeb6
CRs-Fixed: 2459485
Currently with the support of Blacklist manager
component, all the blacklist, avoid list, RSSI-REJECT
list is maintained by the BLM, hence the filter logic
of the blacklist APs in the scan component is not
required.
Cleanup the blacklist BSSID APIs, and related functionality.
Change-Id: I4c8283d2c5e4ca66c24a25d31a74026510bb452c
CRs-Fixed: 2464188
CFG_VALID_CHANNEL_LIST_STRING_LEN as array size passed to
qdf_uint8_array_parse, which is more big than array size. So pass the
actual size - CFG_VALID_CHANNEL_LIST_LEN to that function.
Change-Id: I7596c0887147523570450dbac4dba2d03e7fe8b6
CRs-Fixed: 2462613
As part of start_ap or connect_start to teardown active tdls peers
hdd_notify_teardown_tdls_links is called with argument vdev. But
TDLS might not be enabled on that vdev. With recent changes,
osif_priv object is initialized as part of tdls_vdev_init.
For the new interface if TDLS is not initialized then osif_priv
object will not be found and TDLS peers are not removed.
Change-Id: Idcf690bba2766664700a4851d390ee620f2fe73a
CRs-Fixed: 2460108
Add support for roaming in case the driver
detects a nud failure. The STA then would roam
to another BSSID, else if the roaming gets failed
the STA would remain connected to the same BSSID
as connected before.
Change-Id: Idbc99b0ce2f9cacd97564dd8cf9892120958eda2
CRs-Fixed: 2461675
Link BLM exposed APIs to the following:-
1. csr_get_scan_result:- Link this API with filter bssids in
the reject ap list maintained by the blacklist mgr.
2. lim_assoc_rej_add_to_rssi_based_reject_list:- Link this API
with the the blacklist mgr add bssid to reject list to add the
OCE and BTM related assoc rejects.
3. Userspace avoid list parsing logic for the userspace to set
the BSSID as avoided.
Change-Id: Id51ffb80cea3f845fefe14db25d0f7acda6ea0f3
CRs-Fixed: 2461281