Commit Graph

15332 Commits

Author SHA1 Message Date
nshrivas
64e369368b Release 5.2.0.151
Release 5.2.0.151

Change-Id: I04893938c58080dd8edb48798685186b7827c0d2
CRs-Fixed: 774533
2019-10-02 14:54:49 -07:00
Yue Ma
a36c0f1a99 qcacld-3.0: Add QMI send related APIs
These APIs can be used to send data request to firmware over QMI
as well as receive response from firmware.

Change-Id: I186d4c53e846af028b5ea75079027217af1580b4
CRs-fixed: 2517225
2019-10-02 14:54:48 -07:00
nshrivas
667a5aab35 Release 5.2.0.150Z
Release 5.2.0.150Z

Change-Id: I0fd270bf4500f55ae840396430e91b70d7bf63dc
CRs-Fixed: 774533
2019-10-02 02:48:05 -07:00
Kiran Kumar Lokere
c220a51edb qcacld-3.0: Add VHT extended Nss BW support for 160MHz
Add VHT extended Nss BW support for 160MHz connection.

Change-Id: I8e2833a48ca5de0301634a88eb1a66002b4c9c20
CRs-Fixed: 2531279
2019-10-02 02:48:04 -07:00
nshrivas
2df1001a50 Release 5.2.0.150Y
Release 5.2.0.150Y

Change-Id: Ic12354c645dc6f5d8ac0dac5eb69f82fd709dc2b
CRs-Fixed: 774533
2019-10-01 22:10:23 -07:00
sheenam monga
fd39482ecb qcacld-3.0: Add ini for roam score algorithm selection
CFG_VENDOR_ROAM_SCORE_ALGORITHM is added to specify the
preferred roam score algorithm.
With value 1, the new V2 roam score algorithm will be used.
With this roam score Algorithm, AP score will be calculated
based on below equation:
AP Score = (RSSIfactor * rssiweight(0.65)) +
		(CUfactor * cuweight(0.35))

This algorithm value will be sent to firmware over the
WMI_AP_PROFILE command.

Change-Id: I5e7857108a9623fdf3e698cb842dbc22c21f61a1
CRs-Fixed: 2513571
2019-10-01 22:10:22 -07:00
nshrivas
29dc088a95 Release 5.2.0.150X
Release 5.2.0.150X

Change-Id: Iaaa53b953da4209fc64e56889959f683bb7c4699
CRs-Fixed: 774533
2019-10-01 11:54:17 -07:00
Ashish Kumar Dhanotiya
b035570f53 qcacld-3.0: Fill correct txpower information
As a part of 802.11ax amendment, 6GHz band operation is added.
Since the 6 GHz channel numbers are overlapping with existing 2.4GHz
and 5GHz channel numbers, use frequency to identify unique channel
operation instead of channel number. Channel frequency is unique across
bands.

As a part of above requirement frequency attribute is added to the
struct sSirMacChanInfo, in driver some APIs directly copies this
structure info considering as every member of the structure as uint8_t,
as frequency is uint32_t this breaks above asumption and results into
corrupt info and gives undefined behaviour.

To address above issue, use the structure members individually and
give the information by member-by-member copy.

Change-Id: Ied6ad30d8a0800211f99371969ddd192ff40545c
CRs-Fixed: 2537975
2019-10-01 11:54:16 -07:00
Pragaspathi Thilagaraj
3548a66560 qcacld-3.0: Fix integer overflow in rrm_fill_beacon_ies()
In rrm_fill_beacon_ies(), the len is the total length of
IE + 2 bytes for element ID (1 byte) and length of the
IE(1 byte). Length is defined of type uint8_t and can have
only values upto 255. When the IE content length is 254,
adding 2 bytes to this will cause the len to overflow
resulting in continuous loop in rrm_fill_beacon_ies.

Change the len type to uint16_t to avoid integer overflow.

Change-Id: Id6a6bcce150f778e24316ccc5fb51c6e2a95fc5e
CRs-Fixed: 2537774
2019-10-01 11:54:10 -07:00
nshrivas
2feaa0a946 Release 5.2.0.150W
Release 5.2.0.150W

Change-Id: I22d3ee3b7b226190fef14d652ce4744541941cf0
CRs-Fixed: 774533
2019-10-01 10:01:27 -07:00
Abhishek Ambure
c00691687c qcacld-3.0: Fix dp handle mem leak during SSR
In SSR case the mlme_vdev_obj_destroy_handler for the vdev may
get called after the dp soc is uninitialized and thus the
cdp_vdev_detach will not get called to free dp vdev.

Thus free dp vdev before sending the vdev delete and
for force cleanup due to ssr try to free it before detaching
dp soc.

Change-Id: I6f1f95a4f8bbc4cb316e8fd59f6411a6c0c2c099
CRs-Fixed: 2538481
2019-10-01 10:01:27 -07:00
nshrivas
252518f6d8 Release 5.2.0.150V
Release 5.2.0.150V

Change-Id: Ib8b1ebbb307cfd6028d2c120292edffc6828aeff
CRs-Fixed: 774533
2019-10-01 08:01:27 -07:00
Abhishek Ambure
24cff9e863 qcacld-3.0: Add VDEV null check before calling wlan_vdev_get_dp_handle
On passing vdev as argument to "wlan_vdev_get_dp_handle", it returns
"dp_handle". "wlan_vdev_get_dp_handle" has BUG_ON check for NULL vdev,
so VDEV NULL check is added before calling "wlan_vdev_get_dp_handle".

Change-Id: I68ffab078fb35d47e1e771215de610290455b7d7
CRs-Fixed: 2538435
2019-10-01 08:01:26 -07:00
nshrivas
c073f33f21 Release 5.2.0.150U
Release 5.2.0.150U

Change-Id: I90484e60744299c6bfb662b62fd9e7cc255f3975
CRs-Fixed: 774533
2019-10-01 03:56:56 -07:00
Sravan Kumar Kairam
10ed0e822a qcacld-3.0: Check for last busy mark by datapath rx process
Currently as part of cfg80211 wlan stats command after fetching the
stats runtime sync suspend is issued which puts the link in low
power state with out waiting for link inactivity timeout. This leads
to throughput degradation in case of rx direction as in rx processing
data path extends the timer by marking last busy to avoid immediate
runtime suspend. But runtime sync suspend does not take in to account
of the link idle timeout value before suspending the link. So in this
change before issuing runtime sync suspend check the duration since
last busy mark by data path rx process. If the duration is less than
run time delay just do runtime put.

Change-Id: I4e071ddda1c6a815f29d5b44b95e699a212b59d6
CRs-Fixed: 2511423
2019-10-01 03:56:55 -07:00
nshrivas
c2824eacc0 Release 5.2.0.150T
Release 5.2.0.150T

Change-Id: I3e4281b6bd9f7a610c946dca1cb344410002fa6c
CRs-Fixed: 774533
2019-10-01 02:15:59 -07:00
Mohit Khanna
7a2116a8a7 qcacld-3.0: Resume DP threads during SSR
During SSR, DP RX threads need to be resumed so that they can be later
shutdown by posting RX_SHUTDOWN_EVENT to the threads. DP Threads
shutdown procedure waits on a completion event, which is completed by
the threads. In case the threads are not up, the caller may
be stuck waiting for DP threads to shutdown.

Check state before DP RX thread suspend/resume to avoid repetitive
suspend/resume requests.

Change-Id: Idb689e0dae7cf487e0bea45ef2dade369ae2f9f6
CRs-Fixed: 2529673
2019-09-30 14:40:47 -07:00
nshrivas
2092127577 Release 5.2.0.150S
Release 5.2.0.150S

Change-Id: I06ceb270ff37443087e07153e91943848d9335c7
CRs-Fixed: 774533
2019-09-29 09:48:12 -07:00
Chaoli Zhou
fd8d282a75 qcacld-3.0: Fix WDI 1.0 MCC TX SMMU fault
Merge from 2517936 & 2490501.
SMMU fault is observed for WDI 1.0 MCC TX when SMMU is enabled.
Issue is that dma_addr passed from IPA driver is iova of IPA
domain. WLAN driver directly uses the iova to do transmission.
Since iova is not mapped in WLAN domain, SMMU fault occurs.
Fix is to map skb to WLAN domain for TX when SMMU is enabled.
After doing DMA map, an offset of frag_header and ipa_header
is added to the iova and skb->cb is updated with the new iova.
After TX completion, skb DMA unmap is done but with the iova
of the above offset included, which leads to unmapped iova error.
Fix is to recalculate the iova and update skb->cb with new iova,
which has frag_header and ipa_header length removed.

Change-Id: Ib0112d6a3de6dc9af43e5c48a49085c7d4f41a9b
CRs-Fixed: 2534845
2019-09-29 09:48:12 -07:00
nshrivas
2efd386d8d Release 5.2.0.150R
Release 5.2.0.150R

Change-Id: Ib838548276fcaa037683a4e329948487151916f4
CRs-Fixed: 774533
2019-09-28 23:40:26 -07:00
bings
8551233fd6 qcacld-3.0: Send assoc ind to upper layer after assoc rsp tx complete
Do not send assoc indication to hostapd until tx is completed over the
air. This ensures on receiving assoc resp tx status, M1 is triggered
from hostapd.

Otherwise, race condition happens between assoc response and M1 packet.

Change-Id: I1da7d5b2abcc35dc39fd8e3d8b834e1481d369f3
CRs-Fixed: 2507446
2019-09-28 23:40:25 -07:00
nshrivas
dd17b26468 Release 5.2.0.150Q
Release 5.2.0.150Q

Change-Id: Iab4583310d081169ed0701f9267393bf4ee05c0e
CRs-Fixed: 774533
2019-09-28 04:01:11 -07:00
Pragaspathi Thilagaraj
b40c260f17 qcacld-3.0: Register action frames for wake up during runtime PM
Currently the bitmap of action frames that can wake up the host
during suspend is sent via the wmi command
WMI_WOW_SET_ACTION_WAKE_UP_CMDID. This bitmap doesn't include
RRM action frames so currently the host doesn't wake up for rrm
action frames when in suspend mode.

Selectively enable wake up for rrm action frames during runtime PM
alone. Don't enable host wake up during normal suspend as it will
consume more power.

Change-Id: I097596118c2888fc9ea24802e4dbe69d02c5c5f7
CRs-Fixed: 2507185
2019-09-28 04:01:10 -07:00
nshrivas
dee2b1f3d3 Release 5.2.0.150P
Release 5.2.0.150P

Change-Id: I74f54681903c2535c2853e285c9f323ee9937a1b
CRs-Fixed: 774533
2019-09-27 17:12:15 -07:00
Srinivas Dasari
fffa0b4131 qcacld-3.0: Free the cached assoc request if a new assoc req rcvd
Driver caches the assoc request received from an SAE STA if it's
received before getting external auth(SAE) status from hostapd.
Station might retry the assoc frame(ex: if it doesn't get assoc
response within a specific interval) and the cached assoc request
is overwritten with new assoc request, but the cached assoc
request is not freed. Free the same to avoid memleaks.

Change-Id: I576f3b8b05d17afc66481419d1b5bdc0765c84aa
CRs-Fixed: 2535425
2019-09-27 17:12:15 -07:00
nshrivas
1efd360a78 Release 5.2.0.150O
Release 5.2.0.150O

Change-Id: Ib2cddb4b9c1b0e0701ab620108a2f33cf89e4408
CRs-Fixed: 774533
2019-09-27 14:56:40 -07:00
Pragaspathi Thilagaraj
9f23038aaa qcacld-3.0: Rename limTimers
Linux coding style doesn't allow camel case notations. So
rename limTimers to be in compliance.

Change-Id: I83807e8e5318cfad300365780f8cf9dc29037312
CRs-Fixed: 2482564
2019-09-27 14:56:39 -07:00
nshrivas
02d03e3e5c Release 5.2.0.150N
Release 5.2.0.150N

Change-Id: I62e9cb120f806456eb699728ce5c6caa1a23fe58
CRs-Fixed: 774533
2019-09-27 09:12:05 -07:00
Hangtian Zhu
a053d2a304 qcacld-3.0: Fix compile issue while WLAN_LOGGING_SOCK_SVC_ENABLE disabled
Fix compile issue while WLAN_LOGGING_SOCK_SVC_ENABLE disabled.

Change-Id: If83e0172f15aa856bf02d875e35aa54bcb0b6cc5
CRs-Fixed: 2536691
2019-09-27 09:12:05 -07:00
Abhishek Ambure
e0fe68d2dd qcacld-3.0: Keep IBSS code under feature flag in SME
IBSS code is placed under QCA_IBSS_SUPPORT feature flag.

Change-Id: I501ad12155de2445824ca028295cfdec7940c6fd
CRs-Fixed: 2530205
2019-09-27 09:11:51 -07:00
nshrivas
1797d1d0e7 Release 5.2.0.150M
Release 5.2.0.150M

Change-Id: I0f0b9e8fa813dad94aaa566ecb04f8cd21f54149
CRs-Fixed: 774533
2019-09-27 07:56:28 -07:00
Subrat Dash
c8259cd9f3 qcacld-3.0: Set tx_comp_req in the htt header when ptp is enabled
When the QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK feature is enabled
along with ptp feature, the req_tx_comp is not sent to the fw in
the htt header.

Since the driver expects tx completion from fw, the descriptors
are not freed.

Fix this by setting tx_comp_req appropriately.

CRs-Fixed: 2520686
Change-Id: I3960fb67fa5864b461d74cd3a683032e15cc460c
2019-09-27 07:56:27 -07:00
nshrivas
a515b7162d Release 5.2.0.150L
Release 5.2.0.150L

Change-Id: I77db4a07dfc50f73937ffca3b1bf56231d50b035
CRs-Fixed: 774533
2019-09-27 06:40:58 -07:00
Abhishek Singh
69c773d121 qcacld-3.0: Update channel width after sanity check
After sanity check in lim_set_ch_phy_mode the channel width is
updated but is not copied to des_chan.

So copy the new channel width to des_chan.

Change-Id: Iffdcabaa3bfe25083e9c4368621f8df71c152806
CRs-Fixed: 2536201
2019-09-27 06:40:57 -07:00
nshrivas
e6795dcd30 Release 5.2.0.150K
Release 5.2.0.150K

Change-Id: I41de5f2cd21162b008b33484e5cfaf6af24dbada
CRs-Fixed: 774533
2019-09-27 05:20:12 -07:00
Abhishek Ambure
e9af5b563a qcacld-3.0: Flush target_if vdev timers while shutdown
While wlan driver is shutting down and target_if response timer for
vdev is running then, target_if response timers for vdev are flushed.

Change-Id: Idecd5a54c5d824e3dafa992529ca54564bb73c93
CRs-Fixed: 2529278
2019-09-27 05:20:11 -07:00
Abhishek Ambure
0b2ea32256 qcacld-3.0: Cleanup handle & rate_flags from struct wma_txrx_node
As a part of vdev convergence, struct wma_tx_rx_node's handle &
rate_flags members are no more unused. These values are derived
from mlme_obj.

So no more used members of struct wma_txrx_node are cleaned.

Change-Id: I0b536c50717edc293ab27e5d520eb490266ba2ce
CRs-Fixed: 2534222
2019-09-27 05:20:02 -07:00
nshrivas
1a40b7b6cb Release 5.2.0.150J
Release 5.2.0.150J

Change-Id: Ibb3648aeac1e9bcb18694444c2a2ad91623e44ee
CRs-Fixed: 774533
2019-09-27 02:46:36 -07:00
Abhishek Singh
89c367457b qcacld-3.0: Fix peer phymode for STA while updating opmode
In STA use iface->chanmode which is updated during vdev restart to
set the bss peer channel width.

Also remove the API to set phymode during this as the phymode is
already set during vdev start or restart, so no need to set the
phymode again.

So just check if the new BW is valid for the current phymode
and if so set the BW for the peer.

Change-Id: Ic258703acbab0a97629ff4e1945f6729b3fe517f
CRs-Fixed: 2535576
2019-09-27 02:46:35 -07:00
Abhishek Singh
52dc8abc44 qcacld-3.0: Cleanup unused params from struct bss_params part 2
Cleanup unused params from struct bss_params after moving to
vdev target if for add bss request.

Change-Id: Ib3cf3726b4b4c692a0323669770632f2031d4e9a
CRs-Fixed: 2535156
2019-09-27 02:46:30 -07:00
nshrivas
08751f70dd Release 5.2.0.150I
Release 5.2.0.150I

Change-Id: If6c274e6bb991ab11f46cb0de61c2fb071119a4d
CRs-Fixed: 774533
2019-09-26 22:05:07 -07:00
Jianmin Zhu
21f1628c26 qcacld-3.0: Fix WEP share mode LFR3 roaming failed
If AP auth type is WEP eCSR_AUTH_TYPE_SHARED_KEY, auth mode
set to firmware becomes 0:WMI_AUTH_NONE, while firmware expect
2:WMI_AUTH_SHARED, so can't roam to AP of WEP auth mode
eCSR_AUTH_TYPE_SHARED_KEY by LFR3 offload roaming.

Change-Id: Ib674d36fd27d759a6fca443a13d0cf7fec108837
CRs-Fixed: 2534703
2019-09-26 22:05:07 -07:00
nshrivas
a99ac5c82d Release 5.2.0.150H
Release 5.2.0.150H

Change-Id: Iec686a83701737d2ccb244e069e2c0f088623db2
CRs-Fixed: 774533
2019-09-26 17:33:13 -07:00
Liangwei Dong
eaf41e382c qcacld-3.0: Fix channel to freq conversion
wlan_reg_ch_to_freq accepts channel enum number.
Use wlan_reg_chan_to_freq to do channel -> freq
conversion.

Change-Id: I19255e5a3564139191fa53f528264388fc263a83
CRs-Fixed: 2534927
2019-09-26 17:33:13 -07:00
nshrivas
953aaf29d2 Release 5.2.0.150G
Release 5.2.0.150G

Change-Id: If27ee6203b8ab87e45d33fd6e3585f7b5d8452cd
CRs-Fixed: 774533
2019-09-26 14:53:32 -07:00
Liangwei Dong
a96e0027c1 qcacld-3.0: Populate channel flags for vdev_mlme.des_chan
When vdev_mgr_start_send is introduced, the Dfs->dfs_curchan
will be filled from mlme "des_chan" by tgt_dfs_set_current_channel.
Set correct channel flags to des_chan so that dfs radar functions
can get correct channel information.

Change-Id: I643acadb97c3924261b45f598a50fa82d9a224e6
CRs-Fixed: 2529996
2019-09-26 14:53:32 -07:00
Liangwei Dong
692455f021 qcacld-3.0: Populate 6GHz channel list to wiphy
Use separate band - NL80211_BAND_6GHZ for 6GHz channel
list population. And 6GHz channels are reported only
when CFG80211_6GHZ_BAND_SUPPORTED and CONFIG_BAND_6GHZ
feature flags are defined.

Change-Id: Ieec30b304a7c3e8e856f290afdb4177206aeb2c7
CRs-Fixed: 2524262
2019-09-26 14:53:22 -07:00
Pragaspathi Thilagaraj
b3d5253c22 qcacld-3.0: Replace typedef tLimMlmStaContext
Linux coding style doesn't allow camel case notations. So
replace tLimMlmStaContext with the original structure.

Change-Id: Iea2968d9cf993c405390f0ff9712755137cebc07
CRs-Fixed: 2482105
2019-09-26 14:53:13 -07:00
nshrivas
f342a1205d Release 5.2.0.150F
Release 5.2.0.150F

Change-Id: Ib51839783ac2d1be76ee7d2e98cbe8ca2b7d2559
CRs-Fixed: 774533
2019-09-26 10:33:59 -07:00
Liangwei Dong
e2ac31beea qcacld-3.0: Use chan frequency for phy mode population
Use channel number will get invalid band.
Change csr_roam_get_phy_mode_band_for_bss API
and CSR_GET_BAND to use channel frequency as parameter.

Change-Id: I0c4d39f6b5689bc330e4e09302d84deaf209b9cb
CRs-Fixed: 2518428
2019-09-26 10:33:58 -07:00
Abhishek Singh
cf340dd8e7 qcacld-3.0: Move common code for set channel and add bss to new api
Some of the code in set channel and add bss API is duplicate so move
it to a API which can be called from both place.

Change-Id: I73f1f7b06034cff88589f6818a94a202604287e1
CRs-Fixed: 2535158
2019-09-26 09:07:43 -07:00
Jianmin Zhu
9c35741281 qcacld-3.0: Refactor LFR2 and OCB vdev start
Refactor LFR2 and OCB vdev start, fill vdev mlme directly,
don't use wma_vdev_start_req.

Clean up wma_vdev_start_req
Clean up wma_vdev_start

Change-Id: Ic647271dee8c69f8cb9500fa3b5388ce7ef39ace
CRs-Fixed: 2534828
2019-09-26 21:32:45 +05:30
nshrivas
28dd6b2cd2 Release 5.2.0.150E
Release 5.2.0.150E

Change-Id: Ic955f290e161c9e90672f9c4e9f3d96068605c9b
CRs-Fixed: 774533
2019-09-26 05:52:25 -07:00
nshrivas
201baa6159 Release 5.2.0.150D
Release 5.2.0.150D

Change-Id: I85d781c6a885909b297efe5aebb1809a146abd84
CRs-Fixed: 774533
2019-09-26 01:20:33 -07:00
Rachit Kankane
6b79d8de18 qcacld-3.0: Avoid connection count in case of LFR2
In LFR2.0, number of connection count is already decremented
in hdd_sme_roam_callback. No need to again decrement this count
after roaming.

Change-Id: I185b5f7f2f79c1ba29b61797b6e879edb2c6b726
CRs-Fixed: 2519376
2019-09-26 01:20:33 -07:00
nshrivas
b34f21a47a Release 5.2.0.150C
Release 5.2.0.150C

Change-Id: If3a8610462e4d1230e02a74158f8f34ca0d301bb
CRs-Fixed: 774533
2019-09-25 23:57:35 -07:00
Abhishek Ambure
27f9830104 qcacld-3.0: Add dummy function for wma_set_ibss_pwrsave_params
In the legacy code, "wma_set_ibss_pwrsave_params" was called from
code protected under "QCA_IBSS_SUPPORT". Refactor ap vdev start
change call this function, hence dummy definition for
"wma_set_ibss_pwrsave_params" is added.

Inline dummy function "wma_set_ibss_pwrsave_params" is added to
overcome compilation errors if QCA_IBSS_SUPPORT is disabled.

Change-Id: Idff86469480d607c9ce1cc4f65fcd65b01a83308
CRs-Fixed: 2535135
2019-09-25 23:57:35 -07:00
nshrivas
ef0d160c71 Release 5.2.0.150B
Release 5.2.0.150B

Change-Id: I3625969a0e4453422c782ea872fac9871a5415af
CRs-Fixed: 774533
2019-09-25 13:22:51 -07:00
gaurank kathpalia
7633dfcccb qcacld-3.0: Set chainmask for 2x2 dbs capable device
Set chainmask for 2x2 dbs capable device if enable2x2,
AS, and diversity are disabled.

Change-Id: I3ec8da95b868e79af1f44fdba63b2ee57e4365fa
CRs-Fixed: 2528035
2019-09-25 13:22:50 -07:00
nshrivas
92a28cb0d1 Release 5.2.0.150A
Release 5.2.0.150A

Change-Id: If0e122726287766ae5b0624dbc8a8f16da506f16
CRs-Fixed: 774533
2019-09-25 11:53:35 -07:00
Pragaspathi Thilagaraj
872bf8404f qcacld-3.0: Return correct status from csr_post_roam_state_change
Currently, sme_config_fast_roaming is called to set the
supplicant disabled roaming flag in the driver, which is
received over the vendor command
QCA_NL80211_VENDOR_SUBCMD_ROAMING. This supplicant disabled
roaming flag is used to toggle between RSO start and RSO stop.
When the driver is in disconnected state, the roaming module
would be in de-init state already. So the driver should return
success whenever a state change is received in disconnected
state. But currently the driver sends failure when its in
disconnected state. This results in sending failure status to
userspace.

Return QDF_SUCCESS status if any roam state change is requested
in disconnected state.

Change-Id: I520ab92b014eb1239e0164a39e0135e1bb4c2d70
CRs-Fixed: 2533019
2019-09-25 11:53:34 -07:00
nshrivas
2426dfc03b Release 5.2.0.150
Release 5.2.0.150

Change-Id: I230315dd2d2573d3aceaedb638f0d518f1c554e4
CRs-Fixed: 774533
2019-09-25 10:37:24 -07:00
bings
fe33a7c071 qcacld-3.0: Stop roam timer when receiving deauth roam event
Stop roam timer when receiving deauth roam event as FW suggests,
otherwise roam timer will be timeout.

Change-Id: I5dad9cea21b4b1c701904ec1efdc39b9b6a34bd8
CRs-Fixed: 2497029
2019-09-25 10:37:24 -07:00
Abhinav Kumar
523ca376a9 qcacld-3.0: Add support to dynamically enable roaming in STA+STA
Currently in STA+STA scenario roaming is enabled on the
first connected STA1 and is enabled on the other STA2 on
STA1 disconnection. This change adds support to dynamically
enable or disable roaming on any STA.

Change-Id: I34dc2730fb38193ea3dd0ec35c79df233f270913
CRs-Fixed: 2520827
2019-09-25 10:37:15 -07:00
Yeshwanth Sriram Guntuka
1669fc0508 qcacld-3.0: Add CSR APIs to maintain roam state machine
Add CSR APIs to maintain the roam state machine.

Change-Id: I68728cb657c5a492f141bea90b2da0d70cb61f08
CRs-Fixed: 2520826
2019-09-25 10:37:09 -07:00
Alok Kumar
29e501ddea qcacld-3.0: Fix restart adapter for QDF_MONITOR_MODE in SSR
During hdd_start_all_adapters for QDF_MONITOR_MODE,
wlan_hdd_set_mon_chan fails to change hw mode as recovery
is always in progress at this point. Since recovery is in
progress, the check for wlan_hdd_validate_context inside
wlan_hdd_change_hw_mode_for_given_chnl always returns -EINVAL.

Remove wlan_hdd_validate_context check from
wlan_hdd_change_hw_mode_for_given_chnl as caller
to this function has to validate the HDD context.

Change-Id: I818e0cfb6f9752d205c13b7a81889a3c1f023fc9
CRs-Fixed: 2529485
2019-09-25 10:37:02 -07:00
nshrivas
9f1d8c516e Release 5.2.0.149Z
Release 5.2.0.149Z

Change-Id: I9f6fc0ba5caa3309e4bd6a0c6469d4a9a78d8e60
CRs-Fixed: 774533
2019-09-25 09:20:38 -07:00
nshrivas
596e524549 Release 5.2.0.149Y
Release 5.2.0.149Y

Change-Id: I95c9e92498f3cce99042136cdcd39332141a7923
CRs-Fixed: 774533
2019-09-25 06:14:10 -07:00
Hangtian Zhu
9a28ed0437 qcacld-3.0: Enable configurable dfs_pri_multiplier
Enable configurable dfs_pri_multiplier. The ETSI typ2 type3 radar
detection ratio is lower than expected(>80%) while channel loading is
high(>30%). The host improvement for this are:
	1. Add configurable dfs_pri_multiplier, controlled by
	   DFS_PRI_MULTIPLIER. Default value 2, min 1, max 10.
	2. Lower adrastea ETSI type 2/3/4 radar filter rssi_threshold,
	   controlled by DFS_OVERRIDE_RF_THRESHOLD, dfs log shows that
	   QCS405 target report RSSI range [18, 45] while radar power
	   is 3 dbm. By using default rssi_threshold 24 will reject
	   many radar pulses, which leads to low detection ratio.
	3. Calculate deltapri for each searchpri based on dfs_pri_multiplier
	   in dfs_count_the_other_delay_elements(), check deltapri
	   between [1, dfs_pri_multiplier] * refpri and searchpri, if
	   the primargin is desired, mark it as matched pulse.
	4. Pick lowpri as refpri for the radar filter with
	   rf_ignore_pri_window equals to 0 while DFS_PRI_MULTIPLIER is
	   enabled. Observed original findref logic has some problems
	   which selects refpri is bigger than lowpri, which leads to
	   the lowpri pulses pri_match are set to 0, and in this case,
	   radar was not detected. Example for the issue, assume
	   rf->rf_pulseid 34 (ETSI type 2) has 7 pulses with pri:
	   1489, 2978, 2978, 2978, 1489, 2978, 1489 us in this case,
	   highscore is 4 (2978), scoreindex is 5, refpri is 2978, which
	   leads to: index 0, 4, 6 pulses with pri_match 0 in
	   dfs_count_the_other_delay_elements(). The fix is to select
	   lowpri as refpri(1489 in this case).

Change-Id: I1f3ca3298c9ab1f1e2651ad6b4a0a4810f83f8a1
CRs-Fixed: 2522506
2019-09-25 06:14:10 -07:00
nshrivas
6e84bde0ad Release 5.2.0.149X
Release 5.2.0.149X

Change-Id: Id55e54fe8ce7a1c8de2f8e9baae76e8acbb4d154
CRs-Fixed: 774533
2019-09-25 04:58:54 -07:00
bings
14c3f069e5 qcacld-3.0: Add support to configure HE SGI for SAP
Add support for configuring HE SGI for SAP.

Change-Id: I57f4f7b592d3f518fe74ce58294543a4b8567ab8
CRs-Fixed: 2527533
2019-09-25 04:58:53 -07:00
Pragaspathi Thilagaraj
683c1cfe6c qcacld-3.0: Fix invalid vdev_id value while sending link report frame
In lim_send_link_report_action_frame(), the link report action
frame is filled in response to the link measurement request from
the AP. wma_tx_frame() is called to send the frame to the firmware.
But the vdev_id is initialized to 0 in
lim_send_link_report_action_frame(), but is not updated from
pe_session before passing it in wma_tx_frame. SO when STA comes
up on vdev 1, the vdev value is still sent as 0. This results in
the action frame dropped in firmware.

Fill the vdev_id from pe_session before sending it to firmware.

Change-Id: I5ee830fc6ca542c29f555bce63a77c3309777d3b
CRs-Fixed: 2530258
2019-09-25 04:58:45 -07:00
nshrivas
3c33fde7c7 Release 5.2.0.149W
Release 5.2.0.149W

Change-Id: I19614a7cf8a98efa9450f8c86ea0cb05f5385edd
CRs-Fixed: 774533
2019-09-25 02:30:55 -07:00
Wu Gao
18596aeaea qcacld-3.0: Update nan policy to allow SAP+NDP
Allow NDP if there is SAP, and remove duplicate codes.

Change-Id: Ibb59ad8bc9a2eb8638a0f11e78e8f0994422dfb7
CRs-Fixed: 2508265
2019-09-25 02:30:54 -07:00
nshrivas
1981a0febe Release 5.2.0.149V
Release 5.2.0.149V

Change-Id: I33276475648c6ace71f7b374a03a7fcf1b70dbd7
CRs-Fixed: 774533
2019-09-25 01:08:50 -07:00
Jianmin Zhu
58e929c24c qcacld-3.0: Refactor ap vdev start
1. When AP/IBSS/NAN vdev start, fill parameters into
vdev mlme directly.
2. LIM call wma API directly instead of post msg.
3. Add pre/post vdev start handlers
4. Remove following functions:
	wma_add_bss
	wma_add_bss_ap_mode
	wma_add_bss_ibss_mode
	wma_add_bss_ndi_mode
	mlm_add_sta
5. Add lim_set_ch_phy_mode to set phy mode for all vdev start
cases.

Change-Id: I0dc32e399dc9b49c9bbca16fbc4bd0f44eab284d
CRs-Fixed: 2533714
2019-09-25 01:08:40 -07:00
nshrivas
0b521cf895 Release 5.2.0.149U
Release 5.2.0.149U

Change-Id: I6872d014d954f78e62cf7f6829228aaea6d68ead
CRs-Fixed: 774533
2019-09-24 16:50:13 -07:00
Srinivas Dasari
603d497636 qcacld-3.0: Include MBO IE in assoc req only if peer supports PMF
Currently, MBO IE is included in assoc request if the peer
advertizes MBO IE and DUT is of MBO capability. But PMF (11w) is
a mandatory requirement for MBO. So include the MBO IE in assoc
request only if peer supports MBO along with PMF.

Change-Id: Ic0b542acdd8fc5011e7a2a4555973129c474100f
CRs-Fixed: 2528148
2019-09-24 16:50:13 -07:00
nshrivas
f63410f1a5 Release 5.2.0.149T
Release 5.2.0.149T

Change-Id: Iff78b2d07446cd578b200bddd233c244bae4d836
CRs-Fixed: 774533
2019-09-24 15:24:31 -07:00
nshrivas
68d5be2825 Release 5.2.0.149S
Release 5.2.0.149S

Change-Id: I6892bfea2b48f267ae925bb10af4b3fc2f023f94
CRs-Fixed: 774533
2019-09-24 13:59:50 -07:00
Abhishek Ambure
3ee80888e3 qcacld-3.0: Clean up struct wma_txrx_node unused members
As a part of vdev convergence, struct wma_tx_rx_node's bssid & addr
members are no more unused. These values are derived from mlme_obj.

So no more used members of struct wma_txrx_node are cleaned.

Change-Id: I2462a25f91b66b9efac42935a599f1362cb268f1
CRs-Fixed: 2532061
2019-09-24 13:59:50 -07:00
Abhishek Ambure
23beaf5925 qcacld-3.0: Keep wma_set_ibsskey_helper under CRYPTO_SET_KEY_CONVERGED
Fix compilation error caused if "CRYPTO_SET_KEY_CONVERGED" is enabled.

Keeping WMA IBSS code under "QCA_IBSS_SUPPORT" change i.e. 2861885
pulled "wma_set_ibsskey_helper" function outof macro protected code
"#ifndef CRYPTO_SET_KEY_CONVERGED", that caused compilation error
on enabling "CRYPTO_SET_KEY_CONVERGED".

Change-Id: I87650d094f5f39ffff94e1cce58cbb20e0aa0520
CRs-Fixed: 2533784
2019-09-24 13:59:43 -07:00
nshrivas
5a6f5c63fc Release 5.2.0.149R
Release 5.2.0.149R

Change-Id: I96c886ba2a132a27ad0e0216c07469d36c7061de
CRs-Fixed: 774533
2019-09-24 11:51:01 -07:00
nshrivas
9071621421 Release 5.2.0.149Q
Release 5.2.0.149Q

Change-Id: I52f162fd772e94f2eb41aab66c43e325c55871d0
CRs-Fixed: 774533
2019-09-23 22:37:10 -07:00
guangde
87e1720b75 qcacld-3.0: Adjust the intervel of tsf sync timer
Because it has clock drift between Qtimer and target timer, so host
driver need to get two timer offset periodically, then transform the
tsf time from each RX packet to qtime according to this offset value.
If the intervel is too large, the result will not very accurate.
Modify the value from 9 seconds to 3 seconds for STA mode.
Modify the SAP tsf sync intervel to be the same as STA mode.

Change-Id: Id915cbf386059df8233246e196279cb376e2a25b
CRs-Fixed: 2531940
2019-09-23 22:37:10 -07:00
nshrivas
769eb6b4d0 Release 5.2.0.149P
Release 5.2.0.149P

Change-Id: I05e3fa9fb9f917b94236b2e570a1bf5e29a66fbb
CRs-Fixed: 774533
2019-09-23 17:10:52 -07:00
Jingxiang Ge
c2ac79b53a qcacld-3.0: Return failure if mac provision failed
In current code, if mac_provision is enabled, the
checking for return value of hdd_platform_wlan_mac
will be bypassed, this is not the intention.

Change as:
   when mac_provision is enabled, it returns
   only when getting mac address from platform failed.

Change-Id: I76aca9e4560c914a165f2042818746b6a2bb3661
CRs-Fixed: 2529981
2019-09-23 17:10:51 -07:00
nshrivas
c96fe0f1f2 Release 5.2.0.149O
Release 5.2.0.149O

Change-Id: Ic24675cf6d5f2a84614275daab0f6584e946c2a1
CRs-Fixed: 774533
2019-09-23 14:52:32 -07:00
tinlin
c99fa7f76f qcacld-3.0: Fix possible null pointer dereference
roam_info may be null pointer and be explicitly
dereferenced when roam_status is
eCSR_ROAM_LOSTLINK in hdd_dis_connect_hanler.
Add null check for roam_info before
getting roam_info->reasonCode.

Change-Id: I11be7b722921a9be8ed1419251f6cbf19506a11d
CRs-Fixed: 2531563
2019-09-23 14:52:31 -07:00
Tushnim Bhattacharyya
ba6d1e030a qcacld-3.0: Replace channel with frequency in channel_info
Replace channel ID with frequency in struct hdd_channel_info
& oem_channel_info.

Change-Id: I1a14ab40da4824d2861a7ec862cc322a158f0cd1
CRs-Fixed: 2532299
2019-09-23 14:52:27 -07:00
nshrivas
5a62d9a3c6 Release 5.2.0.149N
Release 5.2.0.149N

Change-Id: Ifa125691b244b880fd6782b4ed4eecfc2cc02598
CRs-Fixed: 774533
2019-09-23 12:45:47 -07:00
Arun Kumar Khandavalli
52cca56368 qcacld-3.0: Flush the wmi_rx_work_queue when the ready event fails
If the ready event times out the waiting thread in the error condition
starts closing the modules but in the other
thread the wmi_rx_work_queue could be executing trying to access the
data which being freed in the other thread.

Flush the wmi_rx_work_queue when the ready event times out.

Change-Id: I7d91b3fa5f3468c607ce3669eabf7d2e3789774d
CRs-Fixed: 2524305
2019-09-23 12:45:47 -07:00
nshrivas
27c9d957b8 Release 5.2.0.149M
Release 5.2.0.149M

Change-Id: Icee48a7db25d1edb9090f84b00e8a50ba85c0c76
CRs-Fixed: 774533
2019-09-23 09:26:01 -07:00
Srinivas Dasari
240d327763 qcacld-3.0: Consider def roam scan periods only if not conf'd explicitly
Roam control enable sends default values for roam scan period and
full roam scan period to make sure undesirable values are not
used. But user might want to update values dynamically through
vendor cmd/DRIVER cmd before issuing roam control enable and
doesn't want to overwrite these values with default values.
So, consider default values sent only if user hasn't configured
already. This can be done by comparing configured value with
ini values.

Change-Id: I68ac6a9afbe4a45c1a1ade3286c57f36303c49e9
CRs-Fixed: 2530344
2019-09-23 09:26:00 -07:00
Srinivas Dasari
3a769ca362 qcacld-3.0: Reset inactivity params when roam control is enabled
When roam control is enabled, below inactivity params are expected
to be set 0,
1. roam_scan_inactivity_time
2. roam_inactive_data_packet_count
3. roam_scan_period_after_inactivity

Restore the same when roam scan control is disabled/CLEAR_ALL is
received.

Change-Id: Id9365895cdbccb3465b96ba6eec579da5014caa0
CRs-Fixed: 2529116
2019-09-23 09:25:53 -07:00
nshrivas
048a174ac3 Release 5.2.0.149L
Release 5.2.0.149L

Change-Id: I9596cb7d0e826a0da99f0cf41420aa69da44804f
CRs-Fixed: 774533
2019-09-23 07:28:02 -07:00
Srinivas Dasari
1ec7452b18 qcacld-3.0: Restore all control config params upon CLEAR_ALL
User might modify the roam control config params through
multiple commands as part of roam control config enable.
Currently, only the params which are modified as part of
SUBCMD_CONTROL_SET command are restored. Restore all of the roam
control config params from the default ini values when the
control config is disabled i.e when the CLEAR_ALL is received.

Change-Id: I59ebc2e3018b01889ffb2bcd19b72d6d20fd0517
CRs-Fixed: 2517854
2019-09-23 07:28:01 -07:00
Srinivas Dasari
a5a42fa0ce qcacld-3.0: Update scan_n_probes to neighbor roam info only
Currently, scan_n_probes is updated to global mac ctx when
it's changed through DRIVER command. But the update
should happen only to the neighbor roam info of the
corresponding vdev. Retrieval also should happen based on vdev.

Change-Id: I442eda44c6c0f6a66d86648bbe82bc0dc71422bd
CRs-Fixed: 2530341
2019-09-23 07:27:53 -07:00
Srinivas Dasari
7bedcd175d qcacld-3.0: Update home_away_time to neighbor roam info only
Currently, home scan away time is updated to global mac ctx
when it's updated through DRIVER command. But the update
should happen only to the neighbor roam info of the corresponding
vdev. Retrieval also should happen based on vdev.

Change-Id: I3e746f264c23454c1721a132d267b70157392894
CRs-Fixed: 2530338
2019-09-23 07:27:47 -07:00
Srinivas Dasari
e41d01d667 qcacld-3.0: Update scan max chan time and period to roam info only
Currently, neighbor scan max chan time and neighbor scan timer
period are updated to global mac ctx when it's updated through
DRIVER command. But the update should happen only to the neighbor
roam info of the corresponding vdev.

Change-Id: I264cf9ac7a1c7bf8c4fde25ad134993419db6052
CRs-Fixed: 2530337
2019-09-23 07:27:41 -07:00