Commit Graph

15530 Commits

Author SHA1 Message Date
CNSS_WLAN Service
7e82458ac2 Merge "Release 5.2.0.153" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:42 -07:00
CNSS_WLAN Service
dfa45eb53d Merge "qcacld-3.0: Add proper rates for MCS9 in host table" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:40 -07:00
CNSS_WLAN Service
b6f002c9a5 Merge "Release 5.2.0.152Z" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:39 -07:00
CNSS_WLAN Service
e573ed9224 Merge "qcacld-3.0: Enable AMSDU in AMPDU support only in 11ax" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:38 -07:00
CNSS_WLAN Service
f91529332f Merge "Release 5.2.0.152Y" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:37 -07:00
CNSS_WLAN Service
804c8208dd Merge "qcacld-3.0: Prevent possible NULL pointer dereference" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:36 -07:00
nshrivas
290a57b388 Release 5.2.0.153C
Release 5.2.0.153C

Change-Id: Id135ad86177a2dbb8f9d1b504a9a5461899d7214
CRs-Fixed: 774533
2019-10-18 02:55:24 -07:00
gaurank kathpalia
eeb2554905 qcacld-3.0: Handle mem leaks for sap ACS channel list
Handle error condition of vdev not found (Logical delete
state), and scan req memory not allocated to prevent mem
leak for SAP ACS channel list.

Change-Id: I0ab00c0119f80299cc8d93236839e42c647b939f
CRs-Fixed: 2547058
2019-10-18 02:55:24 -07:00
Ashish Kumar Dhanotiya
ca5d922263 qcacld-3.0: Process rx_mgmt_pkt based on frequency
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 part of above requirement add logic to process rx mgmt
packets based on the frequencies instead of channel numbers.

Change-Id: Ib063070738ecdb4f83379eafe50629778a490aae
CRs-fixed: 2522693
2019-10-18 02:55:17 -07:00
Sourav Mohapatra
0203b6d254 qcacld-3.0: Clear registered peers in SAP mode after SSR
Currently, the SAP peers are not cleared after an SSR in shutdown path
inside hdd_reset_all_adapters. This can lead to mem leak in the case
the device undergoes SSR with connected SAP clients.

To prevent this memleak, rectify the existing check to include SAP
mode also while cleaning up the registered peers.

Change-Id: I8faf54d420cd9198e257a3d93bbf1b37da2f3eb8
CRs-Fixed: 2546805
2019-10-18 02:55:12 -07:00
nshrivas
21fc4a3536 Release 5.2.0.153B
Release 5.2.0.153B

Change-Id: Ib3751b491398c0b7b714383e4d49838984860b3b
CRs-Fixed: 774533
2019-10-17 22:47:03 -07:00
Pragaspathi Thilagaraj
0c4489f1ad qcacld-3.0: WPA3 roam make preauth start command as wakable
In WPA3 roam hybrid model, the SAE exchange/4-way handshake is
offloaded to the wpa_supplicant. After roam candidate selection,
firmware will send WMI_ROAM_PREAUTH_START_EVENTID to send SAE
authentication frame with the selected candidate. If the host
is in suspended state, then SAE preauthentication could fail.

So wakeup the host when WMI_ROAM_PREAUTH_START_EVENTID event is
received to carry out the SAE authentication with the provided
candidate

Change-Id: I7a89234e90e7fccef58ec3822dc0cda3740bad20
CRs-Fixed: 2512871
2019-10-17 22:47:02 -07:00
Amruta Kulkarni
f3773e9435 qcacld-3.0: Add flow control to limit deauth per peer
Invalid peer keeps sending rx ind which triggers sending of
deauth mgmt frame continiously.

Fix is to add flow control in wma_rx_invalid_peer_ind()
to limit per peer deauth mgmt frame to one.

Change-Id: Icfbcb9452ee9890a26945b3cdd0c0ab07649367a
CRs-Fixed: 2538222
2019-10-17 22:46:55 -07:00
Jianmin Zhu
e487f79e22 qcacld-3.0: Check concurrency before STA vdev start
Currently if there are 3 connections in MCC on same
MAC, FW asserts.
If there are several bssid for same ssid and channel id from wpa
supplicant is 0, driver will sort candidate AP and try one by
one, vdev start channel isn't decided until candidate is
selected, need do concurrency allow check at that time, or lead
to 3 connections on the same MAC.

STA+STA MCC on same MAC has no benefit,  total throughput is even
lower than single STA for channel switch frequently on same MAC.
so add check to disallow STA+STA MCC.

Change-Id: Id286096ea156915432807e42983c68cc83a8b42e
CRs-Fixed: 2545411
2019-10-17 22:46:48 -07:00
Tiger Yu
81a8073dcb Revert "qcacld-3.0: Featurize partial reorder properly"
The revert Change-Id: I1f3819fa093766abba87e5dc6dc44e6d2188740b

Inlucde the ol_rx_reorder.c for LL solution to avoid NULL pointer access
when handling the fragmentation frames.

Change-Id: I5182693437b00d4c8a932beb59fd03adea5ee8a1
CRs-Fixed: 2546353
2019-10-17 22:46:42 -07:00
CNSS_WLAN Service
5b56df86b5 Merge "Release 5.2.0.152X" into wlan-cld3.driver.lnx.2.0 2019-10-17 20:27:08 -07:00
CNSS_WLAN Service
5f69f9056f Merge "Release 5.2.0.152W" into wlan-cld3.driver.lnx.2.0 2019-10-17 20:27:06 -07:00
CNSS_WLAN Service
e0a20fd655 Merge "qcacld-3.0: Send RSO stop for supplicant disabled roam" into wlan-cld3.driver.lnx.2.0 2019-10-17 20:27:04 -07:00
CNSS_WLAN Service
baf2e0bd1e Merge "Release 5.2.0.152V" into wlan-cld3.driver.lnx.2.0 2019-10-17 20:27:03 -07:00
CNSS_WLAN Service
2f91765e9f Merge "qcacld-3.0: Move stack allocations to heap" into wlan-cld3.driver.lnx.2.0 2019-10-17 20:27:02 -07:00
CNSS_WLAN Service
49910119d7 Merge "Release 5.2.0.152U" into wlan-cld3.driver.lnx.2.0 2019-10-17 20:27:01 -07:00
CNSS_WLAN Service
5691eb30a4 Merge "qcacld-3.0: fix compile error in cdp_fc_get_tx_resource API" into wlan-cld3.driver.lnx.2.0 2019-10-17 20:27:00 -07:00
CNSS_WLAN Service
bd06ef44f8 Merge "qcacld-3.0: Add ini to disable aggressive EDCA config" into wlan-cld3.driver.lnx.2.0 2019-10-17 20:26:59 -07:00
nshrivas
af2e2645dc Release 5.2.0.153A
Release 5.2.0.153A

Change-Id: I3ee4a8813be30f9d887c34132ace45d827dfc74a
CRs-Fixed: 774533
2019-10-17 15:06:24 -07:00
Manjunathappa Prakash
458f6fe460 qcacld-3.0: Add changes to support qca6490
Add changes to support qca6490 chip.

Change-Id: I861d88f6c9aba5285eff17c188bf335d50839d56
CRs-Fixed: 2522129
2019-10-17 15:06:24 -07:00
nshrivas
d4665c4d52 Release 5.2.0.153
Release 5.2.0.153

Change-Id: I279ff78f663db5a08765b8ee5eeb78521a917c76
CRs-Fixed: 774533
2019-10-17 05:56:06 -07:00
Sourav Mohapatra
9a6d5e5e7c qcacld-3.0: Add proper rates for MCS9 in host table
Currently the MCS9 rates are not populated correctly in the host stored
MCS tables. The current rates entered are (1560, 1733) which is incorrect.

Since MCS9 is not defined in the spec but rather an internal
implementation, rectify the rates by confirmation from firmware team.
The new rates entered are (1730, 1920)

Change-Id: Idebc3afae8b1f251ea843b6578170e74f7152629
CRs-Fixed: 2517704
2019-10-17 05:56:05 -07:00
nshrivas
aeae2dfdc5 Release 5.2.0.152Z
Release 5.2.0.152Z

Change-Id: I59ef5adec3c83ec9e524f109776f7c7d7a208488
CRs-Fixed: 774533
2019-10-17 02:06:00 -07:00
Kiran Kumar Lokere
9d80ef65da qcacld-3.0: Enable AMSDU in AMPDU support only in 11ax
Advertise the Rx AMSDU in AMPDU support in addba response only
for 11ax connection when the connection is in 2.4G.

Change-Id: I3275f472503bc420b906f947b661490c3a52b670
CRs-Fixed: 2538118
2019-10-17 02:06:00 -07:00
nshrivas
64a3147e30 Release 5.2.0.152Y
Release 5.2.0.152Y

Change-Id: Ic7fa7f8c9415a065310fd9d587ca2b3ca884ccbc
CRs-Fixed: 774533
2019-10-17 00:41:10 -07:00
Sourav Mohapatra
5778c1db26 qcacld-3.0: Prevent possible NULL pointer dereference
The function wma_wake_event_piggybacked gets the pointer to pdev object
by calling cds_get_context with the respective module ID. This pdev
pointer is then passed on down the stack to CDP APIs where there are no
explicit NULL check to validate the same. In the case the pdev is NULL,
this can go on to cause a NULL pointer dereference.

Add a validation check on the PDEV pointer to avoid this.

Change-Id: Ifecd6853445c6df5e16e6310beb2bf7cbc6997a0
CRs-Fixed: 2524604
2019-10-17 00:41:10 -07:00
nshrivas
31b2b5aeb7 Release 5.2.0.152X
Release 5.2.0.152X

Change-Id: I6fc40f75778a32d174e8f85b78438baa2f612c8f
CRs-Fixed: 774533
2019-10-16 15:39:07 -07:00
nshrivas
11a71a065c Release 5.2.0.152W
Release 5.2.0.152W

Change-Id: I6b85844957f9bc0de47a06f466fe03823200f7cf
CRs-Fixed: 774533
2019-10-16 14:21:55 -07:00
Pragaspathi Thilagaraj
57de52771d qcacld-3.0: Send RSO stop for supplicant disabled roam
If supplicant disabled roaming, driver does not send RSO cmd to
fw. This causes roam invoke to fail in FW since RSO start never
happened at least once to configure roaming engine in FW.
So when supplicant disabled roaming on a vdev, send RSO start on
the vdev and then follow it with RSO stop command.

So when supplicant disabled roaming, disable the firmware
roam scans alone and allow roam invoke.

Change-Id: Ic3def72c6b60c42269d99e6db30cf3bfd1988d70
CRs-Fixed: 2543865
2019-10-16 14:21:55 -07:00
nshrivas
0efe854eed Release 5.2.0.152V
Release 5.2.0.152V

Change-Id: Ibd2515dbcc0934623ccf3041cbfff0b2e91880fa
CRs-Fixed: 774533
2019-10-16 12:55:37 -07:00
Sourav Mohapatra
b8e24b5b44 qcacld-3.0: Move stack allocations to heap
In function hdd_association_completion_handler, there are couple of
large stack allocated arrays defined. This leads to issues of stack
overflow in cases when the stack across the call stack exceeds limit.

Dynamically allocate and deallocate the variables to ensure that they
take no space in the stack.

Change-Id: Ia077e44d7458f160581e3e75564a77d25d20311a
CRs-Fixed: 2515106
2019-10-16 12:55:37 -07:00
nshrivas
2568ba72f6 Release 5.2.0.152U
Release 5.2.0.152U

Change-Id: I76d11cdaed6d06f850e5f670ad2070fd435982b5
CRs-Fixed: 774533
2019-10-16 11:18:16 -07:00
Vevek Venkatesan
b8e96629e3 qcacld-3.0: fix compile error in cdp_fc_get_tx_resource API
cdp_fc_get_tx_resource API is being called without passing
pdev handle, which mis-matches the prototype. Adding a fix
to include right arguments to passed, also removing static
from function ol_txrx_get_vdev_by_peer_addr to expose scope
outside the file, to fix compile errors.

Change-Id: I8089aa5df3a127b85236e69f8a84de7ebd09ec3f
CRs-Fixed: 2545857
2019-10-16 11:18:15 -07:00
nshrivas
1fc3693c1e Release 5.2.0.152T
Release 5.2.0.152T

Change-Id: Ic31ec49d36f2c8f20cb383caba2aabd0a6863704
CRs-Fixed: 774533
2019-10-16 05:19:14 -07:00
Abhinav Kumar
0bd30005a1 qcacld-3.0: update max_num_probes as per INI for Roam Scans
Currently, Host does not update value of max_num_probes and
roam_scan_home_away_time as per default value of INI. This
could leads to only one probe request being sent out during
roam scans which might reduce probability of finding candidates
on a particular channel.

Fix is to update value of max_num_probes and
roam_scan_home_away_time as per INI.

Change-Id: I2aaa302cec840967443dfbfb7ea93f2b5f2380cb
CRs-Fixed: 2545070
2019-10-16 05:19:14 -07:00
nshrivas
8002381c13 Release 5.2.0.152S
Release 5.2.0.152S

Change-Id: Ie37679b73d2f54d25e8b34d9e6632174000f4734
CRs-Fixed: 774533
2019-10-16 03:34:47 -07:00
Paul Zhang
d34b575fc5 qcacld-3.0: Add ini to disable aggressive EDCA config
Add action_oui ini gActionOUIDisableAggressiveEDCA to identify peers for
which aggressive EDCA configuration causes some IOT issues.

Change-Id: Ifea0c224cef2378727c9f78d8b571ea9c57bb662
CRs-Fixed: 2507191
2019-10-15 23:17:55 -07:00
Will Huang
4b097f5add qcacld-3.0: Replace channel number by channel frequency
To support 6Ghz channel, update channel number of struct
sap_StartBssCompleteEvent_s, hdd_ap_ctx and sap_ch_selected_s.

Change-Id: I19e6d7d03072135abed25e077e8573b5326ddba8
CRs-Fixed: 2519308
2019-10-16 10:07:17 +08:00
nshrivas
34eadc61ed Release 5.2.0.152R
Release 5.2.0.152R

Change-Id: I0294bd415260b56bc8937ded1123fce8f7f20dab
CRs-Fixed: 774533
2019-10-15 09:31:29 -07:00
Chaoli Zhou
98d1b3ead1 qcacld-3.0: Fix ROME SAP connection failure issue
For ROME SAP connection phase, we should post the
eWNI_SME_ASSOC_IND_UPPER_LAYER to the queue after
finish sending out the association response frame
for other thread to handle it, otherwise using sme
callback handler in the irq thread will make it has
QDF ASSERT issue in the qdf_mutex_acquire. And the
call sequence that cause the assert like this:
__do_softirq -> ce_engine_service_reg ->
htc_rx_completion_handler -> htt_t2h_msg_handler
-> ol_tx_single_completion_handler ->
ol_tx_desc_frame_free_nonstd ->
tgt_mgmt_txrx_tx_completion_handler ->
lim_assoc_rsp_tx_complete -> sme_process_msg ->
qdf_mutex_acquire.
Meanwhile, lim_assoc_ind will be free in the
lim_assoc_rsp_tx_complete, but it still need to
be used for sme_assoc_ind->assocReqPtr in the
lim_fill_sme_assoc_ind_params, which cause the
assoc req pass to hostapd should be NULL, fix
such issue.

Change-Id: I390224ba64ea6cd963630de5b360e7b5e74a4d10
CRs-Fixed: 2542880
2019-10-15 09:31:29 -07:00
nshrivas
c0ddbee65a Release 5.2.0.152Q
Release 5.2.0.152Q

Change-Id: I90ba19f25d1e1c1db36b53250a26989b16fca2a7
CRs-Fixed: 774533
2019-10-15 08:10:09 -07:00
Liangwei Dong
8ffc0cc3ec qcacld-3.0: Use wlan_reg_set_channel_params_for_freq for SAP
Use wlan_reg_set_channel_params_for_freq to update SAP channel
parameters. The "freq" version API can handle 6GHz channel properly.

Change-Id: I519de47d4ec1fa1351b120f2faa9f23de1064493
CRs-Fixed: 2536568
2019-10-15 08:10:08 -07:00
nshrivas
a22d72328a Release 5.2.0.152P
Release 5.2.0.152P

Change-Id: I708749327d40a530ac6862b3c7145a7d13937703
CRs-Fixed: 774533
2019-10-15 06:44:48 -07:00
gaurank kathpalia
c0d0841183 qcacld-3.0: Normalize the channel weights according to ini
Normalize the weights of the frequencies for ACS scan
if the user has changed them in the ini.
This is done as legacy devices wont be able to scan
the newly added 6ghz frequencies, and thus wont
be able to associate with the SAP if it starts
on 6ghz channels.

Change-Id: I2dd2f706c248f5339bde06963540d0874d08b847
CRs-Fixed: 2543007
2019-10-15 06:44:48 -07:00
Abhishek Singh
41776ce6b4 qcacld-3.0: Add vdev info in connect and disconnect info logs
Connect and disconnect info logs doesn't have vdev related info
and thus it become difficult to know for which interface the
req is received from logs in STA+STA case.

Change-Id: I8a8e83e1ee82614c06d736542e9be5f93308a6a1
CRs-Fixed: 2545444
2019-10-15 06:44:44 -07:00
nshrivas
b1344d13a8 Release 5.2.0.152O
Release 5.2.0.152O

Change-Id: If29c9859562979b3770bee5b42dc93482a65397e
CRs-Fixed: 774533
2019-10-15 05:16:26 -07:00
hqu
37c8b81fc3 qcacld-3.0: Add 11ax mode to non legacy phymode
Driver will set 11ax mode to legacy phymode currently, so it
will report no HT capability to hostapd, it's wrong.

11ax mode can support HT capability, fix is to set 11ax phymode
to non legacy.

Change-Id: Id8dce7eba9f5d986c57242242a7376d19e98eb3f
CRs-Fixed: 2503202
2019-10-15 05:16:25 -07:00
Abhishek Ambure
6a2773e4a4 qcacld-3.0: Replace WLAN_PHY_MODE with enum wlan_phymode
enum wlan_phymode is the enum to store the phymode in host
and thus replace WLAN_PHY_MODE with enum wlan_phymode
and add the corresponding change in the code to use
enum wlan_phymode.

Change-Id: I6c7990255f193eb3afdeeb278d3cc159ef8503b1
CRs-Fixed: 2544822
2019-10-15 05:16:19 -07:00
Lin Bai
7c3d0c45db qcacld-3.0: Fix CFG_RX_MODE_DEFAULT redefined error
SDX55 defined both MDM_PLATFORM and FEATURE_WLAN_DP_RX_THREADS,
and this is causing redefined issue.

Change-Id: I1427be477dd3832b98332c9edaa4063b8c573ae4
CRs-Fixed: 2542264
2019-10-15 05:16:12 -07:00
nshrivas
32fd4e8667 Release 5.2.0.152N
Release 5.2.0.152N

Change-Id: Ie1ceee72bbd8ffeb332bfb49728157d2dc8c3c9c
CRs-Fixed: 774533
2019-10-15 02:30:09 -07:00
Mohit Khanna
58a898ba9e qcacld-3.0: Use pm_qos only at high bandwidth
Currently we use PM qos apis to set masks and latency values at
PLD_BUS_WIDTH_LOW throughput level. As per experiments and power
measurements, this can also be done at the PLD_BUS_WIDTH_MEDIUM level
without any throughput impact and can help CPU enter C4 states at this
level.

Hence, donot use pm-qos APIs at less than high throughput levels.

Change-Id: I8bebb3b593b9d26aa6764b16b218814979bcd322
CRs-Fixed: 2507386
2019-10-15 02:30:09 -07:00
Arun Kumar Khandavalli
378b7ee6a4 qcacld-3.0: Remove block/unblock shutdown cb
Modem block/unblock shutdown callbacks are added to synchronize
modem shutdown when the driver is in deinit sequence.

With new changes everything is synchronized via the platform driver,
So remove the the block/unblock shutdown callback's.

Change-Id: If66eed5b51bbce64f024edf49e37a21b222a6a4c
CRs-Fixed: 2489733
2019-10-15 02:30:04 -07:00
nshrivas
541afcdd7c Release 5.2.0.152M
Release 5.2.0.152M

Change-Id: I324a130f4712663dfbd03ce3fc7ffd66e745c291
CRs-Fixed: 774533
2019-10-15 00:49:06 -07:00
Liangwei Dong
1f41f4f984 qcacld-3.0: Extract and add Advertisement Protocol IE
Extract and add Advertisement Protocol IE from hostapd.
MBO AP needs to report the ANQP supported in Advertisement
Protocol IE.

Change-Id: I5d7bb650de7626f568c1868775a665eff2305647
CRs-Fixed: 2530870
2019-10-15 00:49:06 -07:00
Sourav Mohapatra
c320ada27c qcacld-3.0: Move cache sta info to hash based
Currently in hdd_adapter, the variable cache_sta_info is an array of
hdd_station_info structured indexed by the sta_id. As sta_id is no
longer used, this array based implementation becomes unnecessary.

Move the sta_info implementation to a hash table implementation.

Change-Id: Iac11ecd2ae4a454649235cf8763e9a5f80e7eb38
CRs-Fixed: 2515316
2019-10-15 00:48:59 -07:00
Sourav Mohapatra
43e6dea453 qcacld-3.0: Move sta_info from array based to hash based
Currently in hdd_adapter, the variable sta_info is an array of
hdd_station_info structured indexed by the sta_id. As sta_id is no
longer used this array based implementation becomes unnecessary.

Move the sta_info implementation to a hash table implementation.

Change-Id: I7d6fe04b7e0ab22615d431de9a10a4ad38ed65ba
CRs-Fixed: 2514280
2019-10-15 00:48:54 -07:00
nshrivas
c65a60b93b Release 5.2.0.152L
Release 5.2.0.152L

Change-Id: I969c7df7d0ece78a92a736733083221c528739ef
CRs-Fixed: 774533
2019-10-14 23:04:57 -07:00
nshrivas
181ea3a9ed Release 5.2.0.152K
Release 5.2.0.152K

Change-Id: Idf145e2792f7f1aba2436eb8bdea6c69cb62df4c
CRs-Fixed: 774533
2019-10-14 19:12:14 -07:00
Bala Venkatesh
805a4a6f02 qcacld-3.0: Return success status for stop_ap
After SSR the vdev id in P2P GO adapter can become invalid.
So return success status in stop_ap to kernel for proper
cleanup.

Change-Id: I20aa0873e6aa199749c1cbabd098a581500bebce
CRs-Fixed: 2527535
2019-10-14 19:12:14 -07:00
nshrivas
d839865be0 Release 5.2.0.152J
Release 5.2.0.152J

Change-Id: Iba8a356afec9924169a7d5f74e101037de2c6880
CRs-Fixed: 774533
2019-10-14 17:44:49 -07:00
Manikandan Mohan
8773b5ccc7 qcacld-3.0: Update HDD channel validation for frequency
Due to channel number duplication with introduction of 6Ghz band
support update hdd channel validation function to check channel
frequency instead of channel number. Also remove channel references
in start_bss path.

Change-Id: I5f37524b71a2b224ca79b0f67f871e50523e16be
CRs-fixed: 2545103
2019-10-14 17:44:49 -07:00
nshrivas
48001f8e31 Release 5.2.0.152I
Release 5.2.0.152I

Change-Id: I67dc3b972e0ba1fc13511ee5c3b6d2af41448392
CRs-Fixed: 774533
2019-10-14 15:56:07 -07:00
Pragaspathi Thilagaraj
ea180474cd qcacld-3.0: Update group management cipher suite in RSO command
The host driver updates the group management cipher suite to the
firmware as part of RSO commands over the WMI_AP_PROFILE
command. The group management cipher suite is updated from the
group cipher suite which is not correct. As part of join success
update the group management cipher suite from roam_profile
in the roam serialization command in
csr_roam_save_connected_information().

Update the group management cipher suite from the roam profile
to the roam_request and copy it to the WMI_AP_PROFILE command
params in wma.

Change-Id: Ic8dca6938c487396e0202202efbb44ff214ecdcc
CRs-Fixed: 2542225
2019-10-14 15:56:07 -07:00
nshrivas
d39a318e9d Release 5.2.0.152H
Release 5.2.0.152H

Change-Id: I834e2fb86d6807053ce975cfaa54fc3bea5d0c69
CRs-Fixed: 774533
2019-10-14 07:50:48 -07:00
Abhishek Ambure
c51513966a qcacld-3.0: Cleanup old scan filter
Driver uses old scan filter and old scan filter is converted
into new scan filter while sending scan command.

TO avoid this conversion use and fill new scan filter whenever
required.

Change-Id: Ib7e1c571c042a36f0b5864033ba640e8df1cd2f1
CRs-Fixed: 2544677
2019-10-14 07:50:48 -07:00
Liangwei Dong
eecef520c8 qcacld-3.0: Use frequency to access "defaultPowerTable" list
Get channel power information by center_freq from "defaultPowerTable"
list instead of chan_num because duplicated channel number exists if
enable 6GHz band.

Change-Id: I88c8ae2b14e1b2c48410fdf7bff5bba96b73f32d
CRs-Fixed: 2531046
2019-10-14 07:50:43 -07:00
nshrivas
9b93b2437c Release 5.2.0.152G
Release 5.2.0.152G

Change-Id: Ie0ef1cc9b9d275186f27a4ee5f070a295bfca3aa
CRs-Fixed: 774533
2019-10-14 05:47:17 -07:00
Rakesh Pillai
7677839516 qcacld-3.0: Enable interrupts after dp srngs are initialized
Currently the interrupts are enabled before the datapath
srngs are initialized. This causes an invalid access of srngs
when any interrupt is received before srngs initialization,
which can happen during operation mode switch, eg during switch
from monitor mode to mission mode.

To avoid this invalid access of srngs, enable the interrupts
only after the srngs are initialized.

CRs-Fixed: 2486050
Change-Id: I9e436f30e2f6b67e02db3ed32231570ab51d5f7b
2019-10-14 05:47:16 -07:00
Abhishek Singh
623603404e qcacld-3.0: Avoid using struct csr_roam_session in lim
struct csr_roam_session is used in LIM in func
lim_get_session_by_macaddr to get if SA is same as one of the vdev.

struct csr_roam_session should not be used by LIM, so raise change
to used vdev obj manager to find a vdev with same MAC address.

Change-Id: I13bf65a65023a2a8dc82013e2668a075883c111a
CRs-Fixed: 2544552
2019-10-14 05:47:10 -07:00
Rajeev Kumar
d097ea1836 qcacld-3.0: Add OS_IF DSC vdev op protection to indicate mgmt frame api
HDD indicate mgmt frame API is called from scheduler context to send mgmt
frames to user which can happen in parallel to del virtual interface which
can lead to race conditions and stale netdev pointer usage and hence add
OS_IF DSC vdev op protection to indicate mgmt frame API such that when
management frames are getting indicated to user space del virtual interface
transaction is synchronized.

Change-Id: I620225f7a0a46efa6da6d615e3014a8f4f5e43cf
CRs-Fixed: 2543244
2019-10-14 05:46:53 -07:00
nshrivas
f9ffa13a2d Release 5.2.0.152F
Release 5.2.0.152F

Change-Id: I0bf7dcc1b74f804e67e915f8380cce91c7dabec6
CRs-Fixed: 774533
2019-10-12 22:15:44 -07:00
Abhishek Ambure
79932494df qcacld-3.0: Refactor SME code to check connection state
IBSS code is protected by "QCA_IBSS_SUPPORT" feature flag, at SME
layer CSR API checks the connection state. For IBSS disable, these
SME APIs to check connection state must return flase.

Change-Id: I1bcd20a07d484cea2769c5b3171d805c8b82b308
CRs-Fixed: 2542724
2019-10-12 22:15:43 -07:00
nshrivas
7368b5f7e9 Release 5.2.0.152E
Release 5.2.0.152E

Change-Id: Id7aac51b70265610fc7ce688c1cfad3493320ee8
CRs-Fixed: 774533
2019-10-12 20:36:19 -07:00
Alan Chen
4bc1c117ad qcacld-3.0: Use dsc vdev start wait api for hdd open
HDD open can come in the middle of idle shutdown and if the vdev start
wait API is not in use, HDD open will fail which will result into WIFI
on failure. Hence, use dsc vdev start wait api for HDD open.

Change-Id: I398879d9669d0a9124e844fc325065299a1d7259
CRs-Fixed: 2540661
2019-10-12 20:36:19 -07:00
Jianmin Zhu
90693c294b qcacld-3.0: Fix buffer overflow when save chan tx power
Before copy tx power, need check length correctly to avoid
buffer overflow.

Change-Id: Ib18feaa36d3cbdcc50442885fd8b98888f34eab8
CRs-Fixed: 2538397
2019-10-12 20:36:09 -07:00
Yeshwanth Sriram Guntuka
0bf1a72b72 qcacld-3.0: Remove assert in peer_unmap_timer_handler
Fw down indication is received after disconnection
is triggered on STA vdev. After peer delete command
is sent to fw, peer_detach is invoked and peer unmap
timer is started. Since fw is down, peer unmap is
not sent by firmware. Shutdown is not invoked by
pld within the peer unmap timeout value which results
in assert in peer_unmap_timer_handler even though
driver is in recovery state.

Fix is remove the assert in peer_unmap_timer_handler
and trigger recovery which already has the necessary
checks.

Change-Id: Iffd83305d2c1eaec836fcea53d406cada5bfe095
CRs-Fixed: 2542886
2019-10-12 20:35:55 -07:00
Alan Chen
df858ef763 qcacld-3.0: Add new runtime pm wakelock for user
Add new runtime pm wakelock for user such that runtime PM can be
disabled for certain scenarios.

Change-Id: Ibaa64f351393b63559b55827f77cdf126e7038b3
CRs-Fixed: 2534535
2019-10-12 20:35:50 -07:00
nshrivas
0d216e9be4 Release 5.2.0.152D
Release 5.2.0.152D

Change-Id: I924a93f4852716ed5478c071756fdaf73320208f
CRs-Fixed: 774533
2019-10-12 19:03:36 -07:00
Rajeev Kumar Sirasanagandla
1b3a535500 qcacld-3.0: Ignore regulatory offload indication from FW
Based on the ini "ignore_fw_reg_offload_ind" ignore regulatory
offload indicatin from fw.

Change-Id: I6e20f2100eeac8e93baa5c5d3f3d1c8b33356aed
CRs-Fixed: 2532989
2019-10-12 19:03:35 -07:00
Abhishek Singh
1bb77499c5 qcacld-3.0: Remove duplicate logic to move to SMM from STA connect
In csr_roam_connect, driver check and move to DBS before the connect
is requested if required and once connection is completed, it check
if SMM can be achieved depending on the channel it connected to or
if it failed to connect.

Thus there is no need to check before connection is completed
if SMM is required as driver is not aware of the channel in which
STA will end up connected.

Thus remove the duplicate logic to move to SMM from STA connect.

Change-Id: I0d069fba3c47dec78601a0f3529fde381d4936ed
CRs-Fixed: 2543601
2019-10-12 19:03:29 -07:00
nshrivas
d9c5b35b9d Release 5.2.0.152C
Release 5.2.0.152C

Change-Id: Iee4fd2e2ebb7efa35ae37e58591d5c06a67f92cf
CRs-Fixed: 774533
2019-10-12 16:23:31 -07:00
Chaoli Zhou
364a002f8d qcacld-3.0: Fix build failure: ISO C90 forbids mixed declarations and code
It has "ISO C90 forbids mixed declarations and code"
build issue on the LE.UM.4.1.1, so fix it.

Change-Id: I0bc918f55e9a7d3c540a455ed292977c15300456
CRs-Fixed: 2542657
2019-10-12 16:23:31 -07:00
Abhishek Singh
e6b951b7e9 qcacld-3.0: Add proper queue_type in cancel command request
If proper queue_type is not added the serialization command is not
removed from the queue. Thus the connect command is not removed
from pending queue on receiving the disconnect command.

This lead to HDD and SME out of sync with SME in connected state
and HDD in disconnected state. Thus during stop adapter HDD
doesn't try to disconnect the connected session. 

Thus add queue_type as active or pending while calling cancel cmd.

Change-Id: I4af2c63a895065aefbb76609808a972354460cb2
CRs-Fixed: 2543246
2019-10-12 16:23:24 -07:00
nshrivas
485d4e2fc3 Release 5.2.0.152B
Release 5.2.0.152B

Change-Id: Ide622ce585b97f1facb47a85e095cf21722f2f25
CRs-Fixed: 774533
2019-10-12 14:39:25 -07:00
Abhishek Ambure
723599dcc4 qcacld-3.0: Fix multiple start of opportunistic timer
In a connect request if there are multiple BSSID, opportunistic
timer is started for each failed BSSID. If connection to a BSSID
takes more than opportunistic time, driver may end up starting
opportunistic timer and queueing SMM request multiple times.

To avoid this unnecessary multiple start of opportunistic timer,
start it only once after final connect failure.

Change-Id: I351cb631fe832239e5f5539f00c306f90192880b
CRs-Fixed: 2543631
2019-10-12 14:39:25 -07:00
nshrivas
445e192a1e Release 5.2.0.152A
Release 5.2.0.152A

Change-Id: I6a513e39ab86af7cd78f3f08312789f9f2939bea
CRs-Fixed: 774533
2019-10-12 13:10:17 -07:00
Srinivas Dasari
ff782fbcd8 qcacld-3.0: Clear PTK and GTK install flags in disconnect handler
PTK and GTK are installed to firmware and installation status
of each key is maintained in driver. Data transmission is allowed
only if both the keys are installed.
Currently these flags are getting cleared after installing both
ptk and gtk to firmware.
But if one key is installed and the other key is not installed
due to some reason(e.g. connection abort), corresponding status
is not cleared and being referred in the next connection attempt.
This is causing the data transmission to happen from driver to
firmware after installing GTK before installing PTK, as the
ptk_installed from previous connection is still set. This is
not allowed by firmware and issues an assertion.
PTK and GTK are invalid once the station disconnects. So reset
the flags as part of connection info cleanup.
Reset the flags before issuing connection also to avoid usage
of previous connect status or garbage values.

Change-Id: I8fa7bd0a15eab2fed80f050e77df3554d0f1b73a
CRs-Fixed: 2542785
2019-10-12 13:10:16 -07:00
Abhishek Singh
7b2fb960c3 qcacld-3.0: Fix enum wlan_phymode to include proper phymode value
Few phymode are missing from enum wlan_phymode and many are not
valid phymode, e.g for 5ghz 40minus and 40plus are not valid.

So add the missing enums and remove invalid enums from enum
wlan_phymode.

Change-Id: I56710c6a04ac365a54e2c4ba138e0e887fbdd960
CRs-Fixed: 2531859
2019-10-12 13:10:12 -07:00
nshrivas
3a7059c08e Release 5.2.0.152
Release 5.2.0.152

Change-Id: I0c1c71206de605315342e89ba2ba763b45c654de
CRs-Fixed: 774533
2019-10-12 11:34:24 -07:00
nshrivas
ae2c9bf26c Release 5.2.0.151Z
Release 5.2.0.151Z

Change-Id: I5d77e20c3bc8505176d40bc62223b1df31404261
CRs-Fixed: 774533
2019-10-12 02:34:02 -07:00
Nisha Menon
0333f2d173 qcacld-3.0: Remove Datapath items in WCNSS_qcom_cfg.ini
Remove certain DP params from .ini and update their default
values in header file.
Parameters updated are:
rx_mode = 20(DP_RX_THREAD | NAPI),
ce_service_max_rx_ind_flush = 1,
ce_service_max_yield_time = 500.
Parameters removed:
gEnableFastPath=1.

Change-Id: I397c40270444a7370e455425dd72bdffdb7c831d
CRs-Fixed: 2542264
2019-10-12 02:34:02 -07:00
nshrivas
bc797147a6 Release 5.2.0.151Y
Release 5.2.0.151Y

Change-Id: I8458dc669a39a38eb0f0b6c336aa64e2bebba9b2
CRs-Fixed: 774533
2019-10-11 04:30:51 -07:00
Yu Wang
36d5210686 qcacld-3.0: set BA buffer size according to he cap of sta
In SAP mode, if he is enabled, the BA buffer size will be
set to 256 in addba response, some STAs can not handle it
properly, which may result in data transmition failure on
these STAs. Then they can not send out DHCP request and so
failed to obtain IP address.
To fix this issue, check the he capability of both STA and
the session, set the buffer size to 256 only when both are
he capable.

Change-Id: If55619d598bb9603cf7ce3bc116d80cf718676d6
CRs-Fixed: 2515183
2019-10-11 04:30:51 -07:00
nshrivas
f81805197f Release 5.2.0.151X
Release 5.2.0.151X

Change-Id: I179f6f5977fee56d8f2e37f04a4af1aa8ab69c8a
CRs-Fixed: 774533
2019-10-11 02:58:42 -07:00
Pragaspathi Thilagaraj
76d0e25a07 qcacld-3.0: Defer connect request when roaming is in progress
Consider STA+STA case where roaming is enabled on one sta.
There is a case where STA1 is roaming to a bssid and there is a
connect request for same bssid on STA2. Here the firwmare would
have already created peer for STA1 peer and STA2 peer creation
would have failed. But at host, since there is no response for
peer creation, the peer would be created for STA2 vdev.
When roam synch indication is received, then peer create fails
at host for the roaming vdev due to duplicate peer detection
logic. Still roam synch confirm is sent to the firmware.
When disconnection is received for STA1, then del bss is sent
for this vdev and firmware asserts as the peer was not created
for this STA2 vdev.

Defer the connect request processing and return failure when
roaming is in progress.

Change-Id: I0892dc567cd17e335b1de3cd5260050f2c1e6b44
CRs-Fixed: 2538389
2019-10-11 02:58:42 -07:00
Jianmin Zhu
90469212be qcacld-3.0: Use generic freq to chan API
In lim_set_ch_phy_mode, use generic freq to chan API.

Change-Id: I7b35bc2ac31aaf02f8fea94b99312b93e8af13d7
CRs-Fixed: 2542975
2019-10-11 02:58:34 -07:00
nshrivas
9e40a3d074 Release 5.2.0.151W
Release 5.2.0.151W

Change-Id: Id6070b7bd10872ce018d050bc6542e31b45c681b
CRs-Fixed: 774533
2019-10-11 00:34:48 -07:00
Nirav Shah
aa34cbb6c6 qcacld-3.0: Add periodic stats for flow control
Add periodic stats for flow control and
group credit for HL and LL datapath.

Change-Id: I835ba366e9e45bbb1e4b6015577c451c7c0606c2
CRs-Fixed: 2485544
2019-10-11 00:34:47 -07:00
nshrivas
a849eec65a Release 5.2.0.151V
Release 5.2.0.151V

Change-Id: I916ce6e27743d206eb1910fb606b54f4f7f70782
CRs-Fixed: 774533
2019-10-10 13:43:19 -07:00
Rakesh Pillai
31d7fb2564 qcacld-3.0: Add vdev subtype to the vdev handle
The vdev subtype is needed to know if the operating
mode of a particular vdev is P2P or not.

Hence add the vdev subtype information in the
vdev handle.

CRs-Fixed: 2498715
Change-Id: Ia9b86bad389825474a0506804e07b7af555d36cb
2019-10-10 13:43:18 -07:00
nshrivas
2af4857d41 Release 5.2.0.151U
Release 5.2.0.151U

Change-Id: Ic8265223f524c0e46b26e9fcc8ce68696b8f3d18
CRs-Fixed: 774533
2019-10-09 22:02:06 -07:00
Abhishek Singh
bf8f96fe77 qcacld-3.0: Fix STA connect for service_peer_assoc_conf not enabled
In case wmi_service_peer_assoc_conf is not enabled the add bss resp
return failure and thus the STA connection fails.

To fix this send proper status to add bss resp in case
wmi_service_peer_assoc_conf is not enabled.

Change-Id: I0aa1de8cfb739e31fc89265766f67fea070d3b17
CRs-Fixed: 2538753
2019-10-09 22:02:05 -07:00
nshrivas
86a71d038f Release 5.2.0.151T
Release 5.2.0.151T

Change-Id: I540b2bb9f59293214f2e5d3b676b636dceb1b1f3
CRs-Fixed: 774533
2019-10-09 20:39:27 -07:00
Mohit Khanna
d2ecf985d6 qcacld-3.0: Change Very High BW thresh to 9000
Change the very high bandwidth threshold to 9000 packets. Thus if the
packet length is 1500 bytes and for 100ms bandwidth interval this is
about 1030Mbps. This makes the high bandwidth range 240Mbps - 1030Mbps.

Change-Id: Ia9d5f9e3547148c5dc378a728514c4020649944e
CRs-Fixed: 2527623
2019-10-09 20:39:27 -07:00
nshrivas
d751d7414c Release 5.2.0.151S
Release 5.2.0.151S

Change-Id: I0ce621a06c1940f7393661b491949953edc793b6
CRs-Fixed: 774533
2019-10-09 19:10:37 -07:00
nshrivas
1db5f6e5ed Release 5.2.0.151R
Release 5.2.0.151R

Change-Id: I0041a74a08ca0c04af1a1a717d235fc8664207f0
CRs-Fixed: 774533
2019-10-09 16:16:49 -07:00
Kiran Kumar Lokere
831f545c7b qcacld-3.0: Disable power save with user configuration
Do not enable power save if the user configures the power save to
be disabled. And set the user power save configuration enabled
by default.

Change-Id: I7be3263888ddbe8302d941444b9751df73a4b165
CRs-Fixed: 2533757
2019-10-09 16:16:48 -07:00
Kiran Kumar Lokere
54819a39d8 qcacld-3.0: Re-enable TWT before host TWT trigger mode
Disable the current TWT session and re-enable the TWT if the
current session in FW trigger mode before changing the TWT mode
to host trigger mode.

Change-Id: I7de2126605685c85a240d38356d439cb4be8cce1
CRs-Fixed: 2539353
2019-10-09 16:16:43 -07:00
Sravan Goud
fb8c84fcd8 qcacld-3.0: Clean up wlan ipa sap interface for stop bss fail
Currently during sap virtual interface delete, if FW is down then
sap stop bss fails. If sap stop bss fails there won’t be any IPA
WLAN events and ipa ctx will have the IPA interface. But adapter
and corresponding netdev are freed up for delete virtual interace.
As part of FW down system recovery takes place. So while doing ipa
SSR cleanup, ipa ctx ipa interfaces are freed and here during interface
cleanup host accesses the already freed net dev address. So clean up
wlan ipa sap interface in case of stop bss failure.

Change-Id: Ie1ce376e6811eb3cd55dd8dc7b921f82451cd892
CRs-Fixed: 2539863
2019-10-09 16:16:37 -07:00
nshrivas
f2b75713dd Release 5.2.0.151Q
Release 5.2.0.151Q

Change-Id: I13bdeb157afe6f9a46d41924a3756b72ad9465ff
CRs-Fixed: 774533
2019-10-09 01:52:16 -07:00
Amar Singhal
361023bf58 qcacld-3.0: Add check for PSC channels
6GHz channels that are PSC(preferred scanning channels) need to be
marked. Same information needs to be conveyed to firmware as well.

Change-Id: Ib4a59ae7859896704a06f6622f8f742e060b6ca1
CRs-Fixed: 2526783
2019-10-09 01:52:14 -07:00
nshrivas
e7d6d0f86f Release 5.2.0.151P
Release 5.2.0.151P

Change-Id: I1a7de13e962e5820bb177199e22a9c290bdd0c4e
CRs-Fixed: 774533
2019-10-09 00:18:28 -07:00
Venkata Sharath Chandra Manchala
f0296dde04 qcacld-3.0: Enable pktlog based on bandwidth
Enable pktlog when bandwidth is
less than PLD_BUS_WIDTH_MEDIUM and
disable pktlog when bandwidth is
greater than PLD_BUS_WIDTH_HIGH.

Change-Id: I9ee979b08779397bc6d24aca8e241fd64eb93029
CRs-Fixed: 2525901
2019-10-09 00:18:27 -07:00
Rajeev Kumar
8ddafdf9c8 qcacld-3.0: Rate limit system suspend not supported console logging
System suspend can happen very fast(in order of milliseconds) and if system
suspend is disabled by setting gDisableWow=1 in cfg ini file then excessive
console logging from wifi driver can lead to watchdog bark and hence rate
limit the system suspend not supported console logging.

Change-Id: I16a4a7a3d0b64fc404d881469dadb4cab38ef149
CRs-Fixed: 2540524
2019-10-09 00:18:22 -07:00
Alan Chen
285bbc7dbb qcacld-3.0: Do not flush work if it is not created
Do not flush work if it is not created.

Change-Id: If2df381b7441e08ef0d6da6176f3aeda80ec8034
CRs-Fixed: 2539867
2019-10-09 00:18:13 -07:00
Alan Chen
f4e958f714 qcacld-3.0: Put the hdd runtime pm deinit under fw ready
HDD runtime pm context is only created when fw wmi ready event is received.
Only deinit when fw wmi ready event is received.

Change-Id: I4dda8a95d8a8089693dcbc4dccefbd2079f558f1
CRs-Fixed: 2540580
2019-10-09 00:18:07 -07:00
nshrivas
234c7bf7ae Release 5.2.0.151O
Release 5.2.0.151O

Change-Id: I07f7a171cbb98a4e60138b0fcb4c3c8b9a05ebd9
CRs-Fixed: 774533
2019-10-08 03:54:55 -07:00
nshrivas
e8fb1285c3 Release 5.2.0.151N
Release 5.2.0.151N

Change-Id: I2ace3481e2dd2d861b6ede54cae3f947c88f1d86
CRs-Fixed: 774533
2019-10-07 02:13:15 -07:00
Manjunathappa Prakash
f065fcdb2d qcacld-3.0: stop bus bandwidth timer during runtime suspend
During runtime suspend there is no need to run the periodic bus
bandwidth timer as there is no data traffic.

Change-Id: I7b53b773e5f9fa2c803e8f4dbb186a30d1dc696b
CRs-Fixed: 2504215
2019-10-07 02:13:14 -07:00
Manjunathappa Prakash
35af2e20a6 qcacld-3.0: Identify TCP vs UDP Tx traffic
Identify TCP vs UDP Tx traffic to vote differently for system resource.
Accordingly vote for gold cores only for UDP Tx high TPUT traffic.

Change-Id: I27190b92b1be6ebe1574a9941a5de8c43bb59a0b
CRs-Fixed: 2499147
2019-10-07 02:13:09 -07:00
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
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
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
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
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
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