Commit Graph

17293 Commits

Author SHA1 Message Date
Manjunathappa Prakash
eb1ec86246 qcacld-3.0: Add CPU mask support to pm_qos calls
Call the pm_qos voting for specific instead of applying vote
for all cores.

Change-Id: I74b3696e15f0adc38149265dacdd5fb10e9055fe
CRs-Fixed: 2495713
2019-10-07 02:13:02 -07:00
nshrivas
f47e20670b Release 5.2.0.151M
Release 5.2.0.151M

Change-Id: I2eef2400376f5b9390655da3c7072a83aabed6ec
CRs-Fixed: 774533
2019-10-05 16:18:32 -07:00
Amar Singhal
f214a5d1be qcacld-3.0: Check frequency range correctly
Check frequency range correctly. Include checks for 6 ghz frequenies
also.

Change-Id: I5bf10e150cb308fca0bf08af7518a96e1c13dc9d
CRs-Fixed: 2521047
2019-10-05 16:18:32 -07:00
nshrivas
88083164b8 Release 5.2.0.151L
Release 5.2.0.151L

Change-Id: I5ce4ef31dcb1d01a9c4945b6c3e36bc56ef269fa
CRs-Fixed: 774533
2019-10-04 22:21:26 -07:00
Amar Singhal
73ec93e73f qcacld-3.0: Make frequency range for pdev conditional
If 6 GHZ channel are enabled; then frequency range needs to be different.
Add new frequency limit if 6 GHz channels are enabled.

Change-Id: Ic8133468d3d6c6c7f7da2e6efb8662d930f69872
CRs-Fixed: 2520198
2019-10-04 22:21:25 -07:00
nshrivas
0aa2e6b4c1 Release 5.2.0.151K
Release 5.2.0.151K

Change-Id: Ie4a4813e82d5239da618be385090f26bebb2b54f
CRs-Fixed: 774533
2019-10-04 17:05:26 -07:00
Amruta Kulkarni
accea6e32b qcacld-3.0: Fix possible NULL dereference
Potential NULL pointer dereference in below function:
 wma_get_rx_chainmask()

Add wmi_handle NULL check in the above function.

Change-Id: I34965388a4782236c3bc5158098b5b066833c066
CRs-Fixed: 2536323
2019-10-04 17:05:26 -07:00
nshrivas
6448d92310 Release 5.2.0.151J
Release 5.2.0.151J

Change-Id: I58b92b7772c4b431be36b01240c55d40e1ee6c12
CRs-Fixed: 774533
2019-10-04 09:24:04 -07:00
Manikandan Mohan
1f380148ad qcacld-3.0: Fix possible null pointer dereference
Fix a possible null pointer dereference in wlan_hdd_cfg80211_ll_stats_get
and _wlan_hdd_cfg80211_get_station if global qdf device context becomes
null.

Change-Id: I02362ae2c60769a562acc42805bd8c4ccac0e887
CRs-fixed: 2536319
2019-10-04 09:24:03 -07:00
nshrivas
32ee7f4d89 Release 5.2.0.151I
Release 5.2.0.151I

Change-Id: If709efcb624c1f49be7fc6732d2f2e8ed1add00b
CRs-Fixed: 774533
2019-10-04 06:46:52 -07:00
gaurank kathpalia
47d668219b qcacld-3.0: Use policy mgr safe ch list in ACS
Currently the driver uses a global safe channel
list, and also keeps another safe channel list in
policy mgr which results in duplicate copies
of the same thing.
Also there are many possible issues which are seen
if the global list implementation is used.

Issue 1:-
The global unsafe ch list is maintained for each
channel and is updated as part of ACS scan cb.
So if a user does ACS again and again ( SAP on off)
then the result of unsafe channels of the previous
ACS request would be updated as part of the ACS cb
of the new ACS scan request.
In the function of sap_get_freq_list, the driver
filters out the channels which are unsafe, and the
same channels are not chosen as the best channel for
SAP operation.
Now the filtration of the channels would happen
according to the previous ACS request, and the driver
would remove the channels from the ACS scan list.
But those channels were unsafe when the previous ACS
happened, and may not be unsafe now, and can be used
to turn on the SAP (can be chosen as the best channel)

Issue 2:-
If the channels are truly unsafe, then the driver
filters out the channel in the function sap_get_freq_list,
and do not chose them for the SAP.
It may happen that the channel list that the driver
preferred as part of do acs becomes unsafe, and the
channels that were unsafe at the time of do acs becomes
safe while the driver was scanning the ACS channels to
find other APs.
Now since the channels that were unsafe at the time of
ACS req are safe now, they could have been chosen as the
best channel but they were not scanned, so the ACS channel
weight of these channels would remain maximum, and they
would be sorted at last of the sorted list.
Also the channels that were as part of the ACS channels list
became unsafe, hence the driver would also assign maximum
weight to them, and they would too become unusable channels.
This would result in all channels having the same weight that
is maximum weight, and so the sorting algorithm does not have
to sort any channel now since all of the weights are same.
The first channel in the sorted list would be channel number
1 of 2.4Ghz, and would get chosen, but this may not be
correct if the HW mode is 5ghz only.

Fix:-
Safe and unsafe channels can be checked by using
policy mgr safe channel list too, so it is better
to keep just one unsafe channel list.
The driver would not filter out the unsafe channels
for ACS scan, and would filter out the unsafe channels
as part of the ACS scan done callback.

Change-Id: Ief236db9e73864e5cb2d290a8106799f9e80f82d
CRs-Fixed: 2530241
2019-10-04 00:07:53 -07:00
nshrivas
774225e988 Release 5.2.0.151H
Release 5.2.0.151H

Change-Id: I6d144c76033eb8bd3c27db316192ce353a9a0b18
CRs-Fixed: 774533
2019-10-03 21:59:32 -07:00
Manikandan Mohan
1baadae237 qcacld-3.0: Add support for WMI over QMI
Add support for WMI over QMI to reduce power consumption for
periodic stats report.

Change-Id: Iec725b357d9bcfa33029aedf7c568814499bc130
CRs-fixed: 2521826
2019-10-03 21:59:31 -07:00
nshrivas
a1cefbfbf1 Release 5.2.0.151G
Release 5.2.0.151G

Change-Id: I1dae5342752a8d40941b8f6e83c2372097509f2f
CRs-Fixed: 774533
2019-10-03 19:23:03 -07:00
Tushnim Bhattacharyya
0263c1e99a qcacld-3.0: Update ini for roam score algorithm selection
Correct vendor_roam_score_algorithm ini description.

Change-Id: Ia958108087a9d480d790a6bcb5e016fa7cb8b654
CRs-Fixed: 2538846
2019-10-03 19:23:02 -07:00
nshrivas
8829df01d4 Release 5.2.0.151F
Release 5.2.0.151F

Change-Id: I40e7270fdc77372c57832329fdd46d73f85ba31a
CRs-Fixed: 774533
2019-10-03 08:36:56 -07:00
Abhishek Ambure
995ab5a011 qcacld-3.0: Kbuild change for IBSS feature flag enable/disable
Enable/disbale IBSS feature using QCA_IBSS_SUPPORT flag in Kbuild.

Change-Id: Icd69009ac0ed0976f288e7f04639464f7b2b5891
CRs-Fixed:  2537008
2019-10-03 08:36:56 -07:00
Abhishek Ambure
dddf428b7a qcacld-3.0: Keep IBSS code under feature flag in LIM
IBSS code is placed under QCA_IBSS_SUPPORT feature flag.

Change-Id: Ib19f955daea1ccfee860fcbd36a0cfb8392906aa
CRs-Fixed: 2537006
2019-10-03 08:36:45 -07:00
nshrivas
87ddf110ec Release 5.2.0.151E
Release 5.2.0.151E

Change-Id: I28de6040a7d118dbf046aeb564869d012adc3452
CRs-Fixed: 774533
2019-10-03 05:08:22 -07:00
Abhishek Ambure
e852897fe3 qcacld-3.0: Add wmi_unified_vdev_tlv.o in Kbuild
As common code carved out TLV and non-TLV definitions of vdev mgr ops
to a separate file in cmn_dev/wmi, wmi_unified_vdev_tlv.o is added
to Kbuild to compile wmi_unified_vdev_tlv.c.

Change-Id: Ia21b66ff3321a859379438743f90caa024e846e9
CRs-Fixed: 2523708
2019-10-03 05:08:21 -07:00
nshrivas
9ca20ca645 Release 5.2.0.151D
Release 5.2.0.151D

Change-Id: Ib11122eb731f8db9c3c483e8de4c534b5b364793
CRs-Fixed: 774533
2019-10-03 03:33:47 -07:00
Tushnim Bhattacharyya
731d63660d qcacld-3.0: Replace timer_stop with timer_stop_sync in p2p module
Replace timer_stop with timer_stop_sync & add some debug print to
track the roc cookie.

Change-Id: I9a71d30b31da3de2bf3242e4a310bad4542b10aa
CRs-Fixed: 2537164
2019-10-03 03:33:47 -07:00
nshrivas
46cb5bb3ab Release 5.2.0.151C
Release 5.2.0.151C

Change-Id: I154edfa3e9612ae50af0702d5491c97884742703
CRs-Fixed: 774533
2019-10-03 02:01:31 -07:00
Nirav Shah
942cdf64c5 qcacld-3.0: Protect pld_del_dev function as part of psoc trans
Protect pld_del_dev function as part of psoc transaction
to avoid race condition with pld_deinit.

Change-Id: I3180801308b9a5e85822fb8d8bc04a9ecb42b347
CRs-Fixed: 2530822
2019-10-03 02:01:30 -07:00
nshrivas
c303ff208f Release 5.2.0.151B
Release 5.2.0.151B

Change-Id: I183b64aa02788185efa2173c6cbe3cd3fee7ffa4
CRs-Fixed: 774533
2019-10-03 00:20:48 -07:00
Alan Chen
e825c3b4fc qcacld-3.0: Do not send multicast addresses during system suspend
When the device is system suspended, do not send multicast addresses.

Change-Id: Ie8ca0f50b4db2231190dbf9a9a1c088c0b84eceb
CRs-Fixed: 2538963
2019-10-03 00:20:48 -07:00
nshrivas
cf1ff1558a Release 5.2.0.151A
Release 5.2.0.151A

Change-Id: I001ab0efd86fc131f3e68894653748357da9a7a4
CRs-Fixed: 774533
2019-10-02 16:25:13 -07:00
Mohit Khanna
62282ceda7 qcacld-3.0: Donot enable PKTLOG_LEGACY for lithium
Since CONFIG_ROME_IF is defined as "PCI" for lithium, PKTLOG_LEGACY is
getting enabled for lithium product as well. Disable PKTLOG_LEGACY for
lithium chipsets.

Change-Id: Ida237cd03e7006514120f9b2e37c7ad5c3897294
CRs-Fixed: 2532170
2019-10-02 16:25:12 -07:00
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