Commit-Graf

675 Incheckningar

Upphovsman SHA1 Meddelande Datum
gaurank kathpalia
b4fd0fea51 qcacld-3.0: Remove driver internal blacklist ap info
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
2019-07-09 13:40:44 -07:00
sheenam monga
01f1f3e3d6 qcacld-3.0: Remove macro PMO_KEK_LEN_LEGACY
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
2019-07-08 16:45:26 -07:00
Sravan Kumar Kairam
02a761e986 qcacld-3.0: Fix possible null pointer dereference
Fix possible null pointer deference in wlan_ipa_uc_ol_init when
accessing passed osdev argument.

Change-Id: I98b2679b7e73041315c4ccc2858eff79fbbcf026
CRs-Fixed: 2484996
2019-07-08 12:09:52 -07:00
Srinivas Dasari
d4e8725828 qcacld-3.0: Send disconnect IEs received in deauth/disassoc to kernel
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
2019-07-05 17:28:02 -07:00
Srinivas Dasari
e2ee09491a qcacld-3.0: Add disconnect_ies in deauth/disassoc frame
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
2019-07-05 17:27:57 -07:00
Srinivas Dasari
37e3731d4a qcacld-3.0: Get disconnect IEs and cache in vdev mgr object
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
2019-07-05 17:27:52 -07:00
Manikandan Mohan
3327177b55 qcacld-3.0: Update PCL tables for STA+SAP after NAN disable
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
2019-07-05 17:27:48 -07:00
Rajeev Kumar
c7dc847318 qcacld-3.0: Do not clear wow applicable flag on resume
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
2019-07-05 14:32:10 -07:00
jiad
7bac1efee9 qcacld-3.0: Remove qdf_op_protect/unprotect for IPA RX
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
2019-07-04 08:42:51 -07:00
hqu
1dd504ae34 qcacld-3.0: Add ini to support BT SCO-WLAN coex
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
2019-07-04 07:26:51 -07:00
gaurank kathpalia
fc166a1d36 qcacld-3.0: Flush the BLM reject ap list on WIFI-OFF from UI
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
2019-07-03 12:08:39 -07:00
Ashish Kumar Dhanotiya
2168aadfa4 qcacld-3.0: Add support to configure avoid acs freq list
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
2019-07-03 08:55:49 -07:00
Abhinav Kumar
7040d2b4e8 qcacld-3.0: Remove redundant init and check in policy_mgr_skip_dfs_ch
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
2019-07-03 08:55:45 -07:00
Wu Gao
cb70c0d571 qcacld-3.0: Support to tx probe request frame
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
2019-07-02 08:39:10 -07:00
Liangwei Dong
24e3f9b30a qcacld-3.0: Add new STA-SAP on DFS chan INI config mode
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
2019-07-01 14:07:52 -07:00
bings
672207d673 qcacld-3.0: Ignore legacy rate set if it is HE connection
Do not configure legacy rate to FW if it is HE connection, otherwise
FW does not work.

Change-Id: I31d167ee79b7b58cabad29e65cf6834a7151093d
CRs-Fixed: 2472811
2019-06-29 08:37:39 -07:00
Liangwei Dong
bb0b7f5f47 qcacld-3.0: Add API to check Agile DFS scan supportability
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
2019-06-28 09:40:29 -07:00
Wu Gao
76b5ff5f45 qcacld-3.0: Check channel number if there is SAP/GO
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
2019-06-27 20:35:08 -07:00
Wu Gao
0eaad574ee qcacld-3.0: PCL update for case about AP+AP+P2P client
Updated PCL table to support 3-port concurrent scenarios
AP+AP+P2P client.

Change-Id: I0c2a1686bb19e164abd0fa3b4ade43c54df3440f
CRs-Fixed: 2474722
2019-06-25 13:06:25 -07:00
Yeshwanth Sriram Guntuka
c52f24d0f4 qcacld-3.0: Add INI support for FIPS handshake offload feature
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
2019-06-25 13:06:01 -07:00
Pragaspathi Thilagaraj
b3472f0fcd qcacld-3.0: Implement WAR for P2P GO 1x1 HT association with peer
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
2019-06-25 13:05:57 -07:00
Pragaspathi Thilagaraj
e4f0cc7ff5 qcacld-3.0: Change the default value of btm_offload_config
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
2019-06-21 16:35:22 -07:00
Rajeev Kumar
100b65bfb2 qcacld-3.0: Do not send DTIM related commands for runtime resume
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
2019-06-20 20:15:10 -07:00
Bala Venkatesh
4e3f275a80 qcacld-3.0: Avoid OOB in function tdls_ct_idle_handler
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
2019-06-20 18:36:10 -07:00
Srinivas Girigowda
a60b84c5fd qcacld-3.0: Remove obsolete/unused macros
Remove obsolete/unused macros.

Change-Id: I7a812c9b6ce4f2af151dd7262cb6d93dec6d0c2a
CRs-Fixed: 2475125
2019-06-20 11:59:45 -07:00
gaurank kathpalia
6ee1ab4a90 qcacld-3.0: Allow DBS scan if enabled in ini
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
2019-06-20 11:59:41 -07:00
Jinwei Chen
8cb25b3042 qcacld-3.0: Enable monitor mode based on VDEV SM
Enable monitor mode based on VDEV SM

Change-Id: I3ed95a7d741b802a67432bc8d8bcab05fe1b51d5
CRs-Fixed: 2457147
2019-06-19 16:46:25 -07:00
Vevek Venkatesan
ed315cdbdd qcacld-3.0: Fix race condition in sending STA IPA offload enable
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
2019-06-16 23:14:24 -07:00
gaurank kathpalia
a8376c9680 qcacld-3.0: Fix potential pointer dereference condition
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
2019-06-15 00:26:07 -07:00
Rajeev Kumar Sirasanagandla
fa4e43888b qcacld-3.0: Add NULL check for nan private objects
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
2019-06-14 07:40:54 -07:00
Abhishek Ambure
f8ee02b3b2 qcacld-3.0: Remove legacy mlme_nofl logs
Remove legacy mlme_nofl log macros. For mlme_nofl logging,
use common code mlme_nofl log macros.

Change-Id: Ie27fe9adcfdc087487071fe511500b1e8cb7435b
CRs-Fixed: 2471126
2019-06-14 01:49:45 -07:00
Tushnim Bhattacharyya
80e9e3b9d0 qcacld-3.0: Set the max_station config correctly for SAP
Set the max_station config correctly at wma_open instead of using
the default value.

Change-Id: I63cd05462351359fbdcaae03dbdff940817b9bde
CRs-Fixed: 2468829
2019-06-13 15:50:38 -07:00
Yue Ma
31dad7b188 qcacld-3.0: Do not send DTIM related commands with WOW for runtime PM
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
2019-06-12 17:45:41 -07:00
gaurank kathpalia
8de8fcb2cf qcacld-3.0: Update the bad bssid reset time in MS
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
2019-06-12 16:14:55 -07:00
Nirav Shah
0b33219e88 qcacld-3.0: Add logging macros without function/line info
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
2019-06-11 17:37:28 -07:00
gaurank kathpalia
d11776adb8 qcacld-3.0: Remove BSSID from BLM reject ap list in disconnect
Remove the BSSID entry from the blacklist manager reject ap list
when the bad bssid counter gets over.

Change-Id: I833d161d97afd5c13a23ae48b1aded38d55b25e4
CRs-Fixed: 2468236
2019-06-11 09:50:51 -07:00
Liangwei Dong
869dd5dc3d qcacld-3.0: Add GO+GO+STA policy mgr table
Update 2x2 dbs PCL table and DBS action tables
to support P2P GO + P2P GO + STA concurrency cases.

Change-Id: I87b77c64083f7e398fcec9f4efc60a887e18e7ef
CRs-Fixed: 2464109
2019-06-10 11:53:50 -07:00
lifeng
c476163754 qcacld-3.0: Update target suspend flag in legacy d0wow enable
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
2019-06-10 02:37:34 -07:00
gaurank kathpalia
bf3314357d qcacld-3.0: Set BSSID state as disconnected when roaming is successful
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
2019-06-09 02:57:00 -07:00
gaurank kathpalia
2bc10dec7a qcacld-3.0: Set remaining duration of BSSID according to type
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
2019-06-07 11:38:52 -07:00
gaurank kathpalia
bf933ff252 qcacld-3.0: Clear the userspace blacklist info
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
2019-06-05 09:22:13 -07:00
gaurank kathpalia
867e789300 qcacld-3.0: Fill reject ap type in blm fill reject list
Fill the reject ap type as the one requested by the user
in the reject ap list.

Change-Id: Ie26180293e4b0c5c212ebcd31a15fd93f9150f8e
CRs-Fixed: 2464748
2019-06-05 09:22:03 -07:00
sheenam monga
0b8f257c1e qcacld-3.0: Populate correct ini value for SU beamformee caps
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
2019-06-04 20:22:12 -07:00
Wu Gao
c61878cf42 qcacld-3.0: Send mgmt frame with NULL channel
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
2019-06-03 21:03:29 -07:00
gaurank kathpalia
ac8504a703 qcacld-3.0: Cleanup the scan blacklist path
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
2019-06-03 15:24:35 -07:00
Wu Gao
7f70e38aec qcacld-3.0: Fix kw issue about neighbor_scan_channel_list
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
2019-06-03 15:24:30 -07:00
Bala Venkatesh
9bb9c05e83 qcacld-3.0: Pass psoc instead of vdev for teardown links
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
2019-06-03 02:26:54 -07:00
gaurank kathpalia
7ef7218496 qcacld-3.0: Add support for roaming in case of NUD failure
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
2019-06-02 01:51:38 -07:00
gaurank kathpalia
3ebc17b3e5 qcacld-3.0: Link BLM to the legacy APIs
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
2019-06-02 01:51:34 -07:00
Abhishek Singh
f5f2166bbb qcacld-3.0: Remove obsolete legacy cfg related files
Remove obsolete cfg_api.h and cfg_global.h files related to
legacy cfg.

Change-Id: I1978c3b44239c62b1dfb6fd59a8a25bccf277aac
CRs-Fixed: 2463744
2019-06-01 03:23:40 -07:00