Commit Graph

15676 Commits

Author SHA1 Message Date
Abhishek Ambure
afe03c50c1 qcacld-3.0: Add debug stats for sta, ap and ext mlme ops
MLME debug stats are added to the sta, ap and ext mlme ops
functions. This will help in debugging.

Change-Id: I55a3a91c6daf98a77557175447798c670be5709a
CRs-Fixed: 2439436
2019-04-23 16:18:27 -07:00
Pragaspathi Thilagaraj
0bd369dce7 qcacld-3.0: Parse FTIE with MIC length 24 for SHA384 AKMs
For SHA384 based 11r AKMs below:
FT-FILS-SHA384, FT-SUITEB-SHA384, the FT MIC length is 24. But
the host driver has MIC length hardcoded as 16, so only first
16 bytes of MIC is copied into MIC field and the rest 8 bytes are
copied into R1KH-ID. This results in R1KH-ID and R0KH-ID parse
failure. Due to this, the host driver sends R0KH-ID as 0 to the
firmware in the R0KH-ID. So the next roaming fails in the
firmware.

For SHA384 based AKMs, add changes to reparse the association/
reassociation response FT element. Introduce new FTIE structure
with MIC defined as array of 24 bytes. With this, the R0KH-ID
and R1KH-ID will be populated correctly in to the assoc response
structure and ultimately RSO command will carry the right R0KH-ID
to firmware.

Change-Id: I5aa50145fcd3ba91b1c92d4817b7f0e4fc216e3f
CRs-Fixed: 2430828
2019-04-24 01:38:43 +05:30
nshrivas
d146bf6b30 Release 5.2.0.131F
Release 5.2.0.131F

Change-Id: I81b88004ed0a82e60eee0bfde5e960c2e425e3ee
CRs-Fixed: 774533
2019-04-23 08:18:39 -07:00
Rakshith Suresh Patkar
1ed1dda57a qcacld-3.0: Adjust pkt download length for TSO packets
In TSO case, if eit header is less than 64 bytes in length,
it will result in unauthorized access to memory that has not
been dma mapped.

For TSO path, adjust the pkt download length before the call
to ce_send_fast(), so that the excess delta is taken into
account and handled.

Change-Id: I049f40afb87c66ad5544da583db27d066fe12453
CRs-Fixed: 2439186
2019-04-23 08:18:39 -07:00
nshrivas
b78cde930a Release 5.2.0.131E
Release 5.2.0.131E

Change-Id: Ia6353f91bfddde9d70fa1687945e9307ee3de8b1
CRs-Fixed: 774533
2019-04-23 05:36:48 -07:00
Liangwei Dong
ba6006ec38 qcacld-3.0: Set MCC quota for STA+CLI
Set MCC quota is mainly for miracast p2p interface when
STA+CLI or STA+GO. Change the condition checking to consider
the other (SAP) existing but not start, to avoid set quota
failure.

Change-Id: I2acfd2bf86991d884c40657dfdd027a235df1270
CRs-Fixed: 2439269
2019-04-23 05:36:48 -07:00
nshrivas
03b57dc51a Release 5.2.0.131D
Release 5.2.0.131D

Change-Id: If30b8036b3d77e652238c7743af5821226c11ecc
CRs-Fixed: 774533
2019-04-23 01:19:13 -07:00
Ashish Kumar Dhanotiya
ed6d027b27 qcacld-3.0: Populate rx mpdu count and fcs count in stainfo
Currently rxmpdu count and fcs count is not getting
populated in station info, add support to populate rx mpdu count
and fcs count in station info and send to user space with
get_station command.

Change-Id: I5ae3c4c1e5647ad0b4777440ce0a1226ba4f373e
CRs-fixed: 2438671
2019-04-23 01:19:12 -07:00
Ashish Kumar Dhanotiya
7ba53e0e39 qcacld-3.0: Possible integer overflow in hdd apf read memory cb
In hdd_apf_read_memory_cb, context buffer length is checked
against sum of packet offset and event length, packet offset
and event length are extracted from FW response and can lead
to integer overflow, which will allow to pass the length check
and eventually will lead to buffer overwrite when event data is
copied to context buffer.

To avoid this issue, validate the event length against the
available length in the context buffer, which can be obtained
by getting difference of packet offset from the context buffer
length.

Change-Id: I53798e56403f1c550f0a762645ccd67a1dc8500d
CRs-fixed: 2436502
2019-04-23 01:18:57 -07:00
nshrivas
43175c49ac Release 5.2.0.131C
Release 5.2.0.131C

Change-Id: Iee817902c891e67ad2ea15bccf8a7c58f4868e5e
CRs-Fixed: 774533
2019-04-22 18:21:04 -07:00
Ajit Pal Singh
10372fa5bf qcacld-3.0: Dont return error for USB from pld_collect_rddm
Do not return error from pld_collect_rddm() for USB also.

Change-Id: Id271f6fe40d116f0ce02f4ae31ad49238b23273f
CRs-Fixed: 2431879
2019-04-22 18:21:04 -07:00
nshrivas
bda12ce5c6 Release 5.2.0.131B
Release 5.2.0.131B

Change-Id: I26447713b3c7f6663e2222be2374792f9096bb9d
CRs-Fixed: 774533
2019-04-22 14:58:30 -07:00
Mohit Khanna
e1b8602571 qcacld-3.0: Check vdev from CDP vdev_id API
Check for validity of vdev obtained from the CDP
cdp_get_vdev_from_vdev_id API.

Change-Id: Ie7fb99a0e08135bd3f2cc6b63070a4bd72df943a
CRs-Fixed: 2434583
2019-04-22 00:30:32 -07:00
nshrivas
9bfde90005 Release 5.2.0.131A
Release 5.2.0.131A

Change-Id: Iabb6136f6d67387b45097195bbe35f89c49fb570
CRs-Fixed: 774533
2019-04-21 18:11:07 -07:00
Jianmin Zhu
0423e33f55 qcacld-3.0: Disable adaptive dwell scan for Roaming by default
1. There is a need for STA to find better AP to connect to, so
this becomes priority over total scan duration.
2. Typically there are very few channel numbers to scan (with FW
CHAN MAP) therefore any penalty with higher dwell time is
compensated with the lesser number of channel. Only in case of
not finding a candidate FW does full scan but that probability
might reduce if AP is found in first CHAN map scan.

Change-Id: Ib923c2af9b92a1465730a861a2b56393dc3d8668
CRs-Fixed: 2431846
2019-04-21 18:11:07 -07:00
nshrivas
5316677e1e Release 5.2.0.131
Release 5.2.0.131

Change-Id: I5e2ce51428ade4268ed92f225192764649f6b4b7
CRs-Fixed: 774533
2019-04-21 06:17:30 -07:00
jiad
90b1725a4f qcacld-3.0: Support WDI 3.0 SW path intra-bss forwarding
Support WDI 3.0 SW path intra-bss forwarding. Major
difference for WDI 3.0 is the metadata info passed
from ipa driver in skb->cb[].

Previously intra-bss fwd decision is done by FW and
it passes fw_desc to IPA where IPA driver passes onto
WLAN driver. Now for WDI 3.0, FW is not involved in RX
path and SW path intra-bss fwd decision has to be done
in wlan driver.

Change-Id: I0b4b9bbf16440dd47b6f97460f8931ea3a79303c
CRs-Fixed: 2426857
2019-04-21 06:17:29 -07:00
nshrivas
a994c9aadb Release 5.2.0.130Z
Release 5.2.0.130Z

Change-Id: I9d532259d57fbda056074f0ae0ab80c992fde44c
CRs-Fixed: 774533
2019-04-21 00:19:50 -07:00
Vignesh Viswanathan
687af4646e qcacld-3.0: Use the operating class table no for AP's country IE for RRM
Currently when an RRM scan is issued for beacon report request from the
connected AP, we use the current scan country code to get the op class
table for the country.

However, the AP can specify which table to use in the country IE's 3rd
byte of the country field which is not parsed and stored in the scan
country code.

For RRM Scan for beacon report request, use the 3rd byte to get the table
number from the connected AP's beacon and if no table number is present,
then use the op class table based on the country code.

Change-Id: I0911ac908d1c71676f7c1450ab260eaa732ddcb9
CRs-Fixed: 2435942
2019-04-21 00:19:49 -07:00
nshrivas
d3d7ec4486 Release 5.2.0.130Y
Release 5.2.0.130Y

Change-Id: If5aa840ec1e1ee898f89b2ccc6c8d5766257635a
CRs-Fixed: 774533
2019-04-20 21:40:25 -07:00
Jianmin Zhu
8d7afc2b01 qcacld-3.0: Add home channel into roam scan channel map directly
After DUT STA connected, search connected ssid from scan cache,
get each channel and put into roam scan channel map. To make sure
current home channel is always included and don't set full
channel as channel map, add home channel into roam scan channel
map directly.

Change-Id: Ifb25562259a9b7f35849b39d8e0d238e754d4f96
CRs-Fixed: 2436200
2019-04-20 21:40:24 -07:00
nshrivas
0732d124ea Release 5.2.0.130X
Release 5.2.0.130X

Change-Id: Id6318f223533a479b19c6f438c3eeb1ed77821fe
CRs-Fixed: 774533
2019-04-19 09:25:46 -07:00
Wu Gao
eb2aa7885f qcacld-3.0: Remove the codes about TDLS low rssi teardown
Both FW and host support TDLS low rssi teardown, so remove the host
logic. In addition, host trigger low rssi teardown wrongly since
doesn't update rssi of tdls peer on time.

Change-Id: I93d7957e01ba805b73558a5ced7a1dc8cc2681c1
CRs-Fixed: 2437166
2019-04-19 09:25:45 -07:00
nshrivas
c06f367c74 Release 5.2.0.130W
Release 5.2.0.130W

Change-Id: I9b3efd465f28cb8d4d505ab0b0a3f1c02e14eca8
CRs-Fixed: 774533
2019-04-19 06:12:48 -07:00
bings
6c4672b657 qcacld-3.0: Select valid channel after pcl selection fails
When SAP works in ACS mode, it needs to restart with a safe channel
if current channel is unsafe. Sometimes no channel is selected from
pcl channels. SAP can't just pick up one safe channel because the
channel may be DFS channel while SAP may disable DFS master capability.
SAP should select one valid channel for LTE COEX.

Change-Id: I303165f82b5c2a8d06447df4ba23fdcba5b1083c
CRs-Fixed: 2415007
2019-04-19 06:12:48 -07:00
Pragaspathi Thilagaraj
03839b9e2f qcacld-3.0: Pack FT-IE into association request for FT-FILS connection
With FT-FILS akm, initial mobility domain fils connection
requires FTIE in the assoc request frame. FTIE is copied from
auth response frame received from the AP and stored in fils_info.
Add frame parser changes to populate the FT-IE into the
association request frame.

Send this FTIE in the association request appended after MDIE.

Change-Id: I9087ff9f36b52f3ef08b03cba826bdc42834a9f8
CRs-Fixed: 2414678
2019-04-19 06:12:43 -07:00
Pragaspathi Thilagaraj
0bd15747c0 qcacld-3.0: Save FTIE from auth response in FT-FILS IM connection
FT-FILS initial mobility domain association requires FTIE in the
association request frame sent to the AP. FTIE has the R0-KH and
R1-KH ID that is needed to derive the FILS-FT key.

Host driver should save the FTIE received from the AP in the
authentication response frame and send it without any
modification to the AP in association request frame.

Change-ID: I047538e13b37e10c2cebad4959fc796af5d16df6
CRs-Fixed: 2414662
2019-04-19 06:12:38 -07:00
nshrivas
c16f627c56 Release 5.2.0.130V
Release 5.2.0.130V

Change-Id: I409ca3bd43adccb2d36e59ae3b3fcfc863db5675
CRs-Fixed: 774533
2019-04-19 04:08:38 -07:00
Rajeev Kumar Sirasanagandla
1a21bf6b53 qcacld-3.0: Fix behavior of SET_FCC_CHANNEL
Expectation of user is fcc constraint should be applied when user input
is zero and should be cleared when input is negative value. But current
driver behavior is out of sync.

To address this, invert the user-input before invoking regulatory
component api ucfg_reg_set_fcc_constraint(). Also ensure reduced
tx power is effective in calculating maximum tx power while connecting
to access-point.

Change-Id: I73485685b70b805107a52080c64efde30e807dc3
CRs-Fixed: 2429993
2019-04-19 04:08:37 -07:00
Pragaspathi Thilagaraj
2b8ea35e71 qcacld-3.0: Introduce new INI to configure roam trigger parameters
Add new ini to configure various roam trigger parameters:
1. "minimum_btm_candidate_score"
   Consider the AP as roam candidate only if its score is greater
   than minimum_btm_candidate_score. This value will be sent over
   the WMI_BTM_OFFLOAD_CONFIG command.

2. "roam_scan_inactivity_time"
   Device inactivity monitoring time in  milliseconds for which
   the device is considered to be inactive with data packets
   count is less than configured roam_inactive_count.

3. "roam_inactive_data_packet_count"
   Maximum allowed data packets count during
   roam_scan_inactivity_time.

4. "roam_scan_period_after_inactivity"
   Roam scan period in ms after device was in inactive state.

5. "btm_roam_score_delta"
   Roam scan delta value for btm triggered roam scan. This value
   will be sent to firmware over the WMI_ROAM_AP_PROFILE wmi
   command.

6. "idle_roam_score_delta"
   Roam scan delta value for Idle roam scan trigger reason. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_delta_param_list tlv.

7. "disconnect_roam_trigger_min_rssi"
   Candidate minimum rssi value for disconnect roam trigger. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_min_rssi_param_list tlv.

8. "beacon_miss_roam_min_rssi"
   Candidate minimum rssi value for BTM triggered roam. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_min_rssi_param_list tlv.

9. "bss_load_trigger_5g_rssi_threshold"
   If connected AP is in 5GHz band, then consider bss load roam
   triggered only if load % > bss_load_threshold && connected AP
   rssi is worse than bss_load_trigger_5g_rssi_threshold.

10. "bss_load_trigger_2g_rssi_threshold"
   If connected AP is in 2GHz band, then consider bss load roam
   triggered only if load % > bss_load_threshold && connected AP
   rssi is worse than bss_load_trigger_2g_rssi_threshold.

Change-Id: Ib026251a8ec403f4376a16a91ff1b5d969336816
CRs-Fixed: 2434922
2019-04-19 04:08:32 -07:00
nshrivas
ed23c6ff1e Release 5.2.0.130U
Release 5.2.0.130U

Change-Id: Ibbc49ff140d69f6968023f79e6ad7ca23a42d93b
CRs-Fixed: 774533
2019-04-19 01:56:40 -07:00
Sourav Mohapatra
9036f65119 qcacld-3.0: Save and restore SAR config post SSR
After SSR, SAR configuration is lost.
Since, SSR is hidden from userland, VENDOR_SUBCMD_SET_SAR_LIMITS
to configure SAR shall not come again from userspace after SSR.

To restore SAR configuration, save this in hdd context when the vendor
command comes and restore after re-init.

Change-Id: I083fb72a9fad35af1a84bcc9d8d59976485b9fa3
CRs-Fixed: 2427382
2019-04-19 01:56:38 -07:00
Will Huang
79af29fd46 qcacld-3.0: Fix smmu fault when inject deauth frame
1. The original mgmt send path changed by converged p2p component, now
wma_tx_packet() will not invoke when sending station mode action
frames, it invokes p2p_mgmt_tx() instead. But for tx buffers of PMF
frames sending to some target require to do bi-direction dma map to
pass smmu sanity check, which is missed in p2p_mgmt_tx() path.
2. The offchan flag passed to wlan_hdd_mgmt_tx() is not always accurate.
There have been cases where the flag is set even though the operation is
taking place on the home channel, and blindly following the flag leads
to an unnecessary ROC.

Fix it by adding QDF_NBUF_CB_TX_DMA_BI_MAP to new p2p mgmt tx path and
bring back home channel check to override the offchan flag if
necessary.

Change-Id: I9589157e57e95d0c61a432f87a07630c4b77f757
CRs-Fixed: 2423341
2019-04-19 01:56:32 -07:00
Jingxiang Ge
2a67be508a qcacld-3.0: Pass hang reason to qdf_trigger_self_recovery
Pass hang reason to qdf_trigger_self_recovery

Change-Id: I9930731d0a565e021eb472163de7fb5190c39f35
CRs-Fixed: 2432834
2019-04-19 01:56:27 -07:00
nshrivas
d4e3a1bed9 Release 5.2.0.130T
Release 5.2.0.130T

Change-Id: I9e117990120cb3e71bb2ea4f271bec6b45db4c84
CRs-Fixed: 774533
2019-04-18 17:02:15 -07:00
Pragaspathi Thilagaraj
aa8320e1c6 qcacld-3.0: Send idle roam trigger monitor command to firmware
Send idle roam trigger monitor command to firmware based on
the SET SUSPEND mode command received from the user space.
The set suspend mode value sent will be used by firmware as
one of the parameters in determining if the device is in
idle state. When set suspend mode is 1, device is not in
idle state else the device is considered idle if idle state
data packet count, idle rssi, inactivity time criteria are met.

Add changes to send the suspend mode value over the wmi
command WMI_IDLE_TRIGGER_MONITOR_CMDID.

Change-Id: Ia4531fdab140334dbb830e0d7486db07bbdfc7e8
CRs-Fixed: 2436221
2019-04-18 17:02:14 -07:00
Jianmin Zhu
0332a6ca4a qcacld-3.0: Avoid missing hidden AP when search scan db by ssid
Roam channel map is got by searching current ssid in scan db,
For hidden ssid, probe resp has ssid, but beacon usually has NULL
ssid. we'd better keep ssid from probe resp as long as possible,
don't override with NULL ssid from beacon as WIN's way.

Change-Id: Ia9295832926129a1f9f29785703d44e8268e750d
CRs-Fixed: 2427355
2019-04-18 17:02:10 -07:00
Jianmin Zhu
5b8c5ca514 qcacld-3.0: Missed home channel in chmap when roam to hidden AP
Roam channel map is got by searching current ssid in scan db,
if hidden ssid, probe resp has ssid, but beacon usually has
NULL ssid.

Use new scan structure in csr_init_occupied_channels_list

Change-Id: I9758cb30b83a7c0c3d221b7178ffb607f0911593
CRs-Fixed: 2432223
2019-04-18 17:02:05 -07:00
Bala Venkatesh
4a3de4526f qcacld-3.0: Do not reset the TDLS peer link status to idle
As part of every scan, TDLS component is notified.
TDLS component takes decision to allow the scan or not.
But after rejecting the scan for max no of times.
TDLS peer link status is set to idle which is not expected.
Overwriting this link status can lead to not finding the
peers to cleanup while 2nd interface is added.

Change-Id: I1a0120399118ef7e9168dbcb7b5009a88e000d5c
CRs-Fixed: 2435694
2019-04-18 17:02:01 -07:00
Will Huang
5a7391c0c1 qcacld-3.0: Add NULL pointer check before de-reference
If csr_is_security_match() call csr_validate_any_default(), it passed
NULL pointers of some input parameters, check these pointers before
de-reference it.

Change-Id: I2cbd9f680c8a90919599db3af5b522ccb760892d
CRs-Fixed: 2423713
2019-04-18 17:01:57 -07:00
nshrivas
5ac8919cb3 Release 5.2.0.130S
Release 5.2.0.130S

Change-Id: Ia6c3a5210a2ebb531a64ebbc9a14d6e555608244
CRs-Fixed: 774533
2019-04-18 13:26:09 -07:00
Srinivas Girigowda
cb7b8b8065 qcacld-3.0: Replace MAC_ADDRESS_STR with QDF_MAC_ADDR_STR
Replace MAC_ADDRESS_STR with converged macro QDF_MAC_ADDR_STR.

Change-Id: Ib9bd0a93a3ffdb89a42e11200d8b68ce1af86681
CRs-Fixed: 2433317
2019-04-18 13:26:09 -07:00
Arun Kumar Khandavalli
f573e06d0e qcacld-3.0: Register the wext handlers for ftm mode
Presently the wext handlers are not getting registered for the
ftm mode resulting in the error when the ftm specific commands
are issued.

Register the wext ioctls when the interface up is received on the
ftm mode.

Change-Id: I50ae011012cd1d667e69d1d84f62c14fa253111a
CRs-Fixed: 2436937
2019-04-18 13:26:03 -07:00
nshrivas
f62792457e Release 5.2.0.130R
Release 5.2.0.130R

Change-Id: Ife24a77a26b24a2289673345084baa5ed790dc29
CRs-Fixed: 774533
2019-04-18 02:33:21 -07:00
Baowei Liu
e96d1033b4 qcacld-3.0: fix memory overwritten in csr_roam_chk_lnk_swt_ch_ind
memory of sizeof(!roam_info) is not correct

Change-Id: Ida0c617815439de33b767b9eb8ed16869264854b
2019-04-18 02:33:20 -07:00
Lin Bai
003e4fbe23 qcacld-3.0: Disable dsc_debug log in perf-build
dsc_debug() is impacting IPA tput, as
introduced by Ib8e1fc1e16785dfe3c5f8273e4ad8d5d6ecdb6e6.

Disable debug level DSC log in perf-build.

Change-Id: I2a18e44879b9301067844cfc6e56f57bb5588c74
CRs-Fixed: 2435880
2019-04-18 02:33:16 -07:00
Tiger Yu
8b119e9b61 qcacld-3.0: Use WLAN_FEATURE_DP_BUS_BANDWIDTH instead of MSM_PLATFORM
Use WLAN_FEATURE_DP_BUS_BANDWIDTH to instead of MSM_PLATFORM for better
reading.

Change-Id: Iaed4f77b09b80ca8872a69c832491598db021232
CRs-Fixed: 2423299
2019-04-18 02:33:09 -07:00
nshrivas
53179133bc Release 5.2.0.130Q
Release 5.2.0.130Q

Change-Id: Ieddce19ac0284ce16e60c2d3fa4ca813663790dd
CRs-Fixed: 774533
2019-04-18 00:28:22 -07:00
Rachit Kankane
228370de3f qcacld-3.0: Don't force SCC in AP+AP DFS scenario
Overwrite 2nd AP's channel with 1st AP only when:
1. Current operating mode is single mac
2. or 2nd AP is coming up on 5G band channel

Change-Id: I8260721a5f9b8547d93ed7c6775741e6a8cc2a44
CRs-Fixed: 2427083
2019-04-18 00:28:21 -07:00
Rajeev Kumar Sirasanagandla
02cf4c9c2f qcacld-3.0: Avoid STA plus STA concurrent connections
Add policy manager support to avoid simultaneous connections on
STA plus STA concurrent interfaces when
WMI_SERVICE_STA_PLUS_STA_SUPPORT is not set.

Change-Id: I73e65c56a98908128d56af2f4fba8ced5210fff1
CRs-Fixed: 2427828
2019-04-18 00:28:17 -07:00