Commit Graph

15628 Commits

Author SHA1 Message Date
Rachit Kankane
228370de3f qcacld-3.0: Don't force SCC in AP+AP DFS scenario
Overwrite 2nd AP's channel with 1st AP only when:
1. Current operating mode is single mac
2. or 2nd AP is coming up on 5G band channel

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

Change-Id: I73e65c56a98908128d56af2f4fba8ced5210fff1
CRs-Fixed: 2427828
2019-04-18 00:28:17 -07:00
Ajit Pal Singh
17634e1e48 qcacld-3.0: Add config to enable/disable RX PN_check offload
Add config to enable/disable RX PN_check offload.
Offload PN check to FW for QCN7605 HL data path.

Change-Id: Ieab4442d73957a9e0314d637a513452616f7a48c
CRs-Fixed: 2433079
2019-04-18 00:28:12 -07:00
Bala Venkatesh
c59b7a1c0c qcacld-3.0: Free rx_mgmt in function tdls_process_rx_frame
Currently, in function tdls_process_rx_frame. If vdev is
NULL then rx_mgmt memory is not freed.

Free the rx_mgmt memory before returning from function
tdls_process_rx_frame.

Change-Id: I5be27a7fa8a9417f578e406f3f9e8c7394439fa8
CRs-Fixed: 2436241
2019-04-18 00:28:08 -07:00
Yeshwanth Sriram Guntuka
a6c3d27152 qcacld-3.0: Do not send unicast probe req on assoc disallowed
Unicast probe requests are sent to AP even though
beacons or probe responses from AP contain MBO IE
with assoc disallowed bit set. In another scenario
where AP rejects association with retry delay of 60
secs, unicast probe requests are being sent to AP
as part of scan for ssid during connection within
the retry delay.

Fix is to reject connection when assoc disallowed
bit is set in MBO IE and also not trigger scan for
ssid when get_scan_results fails due to rssi reject.

Change-Id: I855cf397ff7e3869fb1eceeddc1db5d109790465
CRs-Fixed: 2433740
2019-04-17 15:45:41 +05:30
nshrivas
ee0ff2cea0 Release 5.2.0.130P
Release 5.2.0.130P

Change-Id: Ie3b399b499bb1083ce439a3e4167bd1e6c454f24
CRs-Fixed: 774533
2019-04-16 19:57:48 -07:00
Srinivas Girigowda
d1e45b8dc7 qcacld-3.0: Replace multiple IPv4/v6 address len macros with QDF macro
Replace multiple IPv4/v6 address len macros with QDF macro.

Change-Id: Id8ee0e1a4d6057f74ea5b7122a33f5137ea533e4
CRs-Fixed: 2435753
2019-04-16 19:57:47 -07:00
Rakshith Suresh Patkar
8009443ffd qcacld-3.0: Remove vdev sanity while sending IPA evt
When vdev is logically deleted, vdev reference will
be returned as NULL by objmgr.

Remove vdev sanity from QDF_BUG while sending IPA evt
in __wlan_ipa_wlan_evt.

Change-Id: Ie7f9697768d53c71a6bead377c35bbc3f62e808a
CRs-Fixed: 2433521
2019-04-16 19:57:43 -07:00
Wu Gao
fd60f3a207 qcacld-3.0: Update tdls peer state
TDLS peer state is reset to OL_TXRX_PEER_STATE_CONN when enable tdls
link and register tdls peer, then it will drop data packets to the
peer on high latency platform. So, set peer state to
OL_TXRX_PEER_STATE_AUTH once connected to tdls peer.

Change-Id: I0d02f1efa3c79c0bf41649d98a13ce8b0bf7378d
CRs-Fixed: 2423394
2019-04-16 19:57:39 -07:00
sheenam monga
d756ff1530 qcacld-3.0: Fix null ptr dereference in lim_process_assoc_cleanup
Currently, lim_process_assoc_cleanup does not do null validation
for sta_ds which can lead to null pointer derefrence.

Add null pointer check for sta_ds in lim_process_assoc_cleanup

Change-Id: I74ad0e11213c0bec1473984f312f18b5f1082082
CRs-Fixed: 2423883
2019-04-16 19:57:34 -07:00
Pragaspathi Thilagaraj
4f529f269b qcacld-3.0: Send idle and disconnect roam parameters to firmware
Add support for new wmi command WMI_ROAM_DEAUTH_CONFIG_CMDID
to send disconnect roam trigger parameters and the
new wmi command WMI_ROAM_IDLE_CONFIG_CMDID is used to send the
idle roam trigger parameters. Fill the parameters from csr to
roam request and send it as part of RSO start command to
firmware.

Fill the corresponding parameters in
csr_update_roam_scan_offload_request(). This will be sent to wmi
and the params will be copied to the wmi command buffer.

Change-Id: I3d863a3ec8c5608d47e600c760d7b3406703a953
CRs-Fixed: 2431490
2019-04-16 19:57:30 -07:00
nshrivas
2cfe64c8ba Release 5.2.0.130O
Release 5.2.0.130O

Change-Id: I7e5f2c57a9db62e758c8033595cf4ca15acc3ed3
CRs-Fixed: 774533
2019-04-16 09:09:27 -07:00
sheenam monga
449a472838 qcacld-3.0: Fix null ptr dereference of session
Currently, lim_process_sme_disassoc_cnf,
lim_process_sme_disassoc_req, lim_process_sme_deauth_req and
sme_qos_request_reassoc does not do null validation for session
which can lead to null pointer derefrence.

Add null pointer check for session in lim_process_sme_disassoc_req,
lim_process_sme_deauth_req,lim_process_sme_disassoc_cnf and
sme_qos_request_reassoc before usage and send failure to sme.

Change-Id: I0efe4e98a8dd26767309ed1e6b668a6267a4b770
CRs-Fixed: 2423887
2019-04-16 09:09:27 -07:00
nshrivas
3c9024173a Release 5.2.0.130N
Release 5.2.0.130N

Change-Id: I5297b0388703544cdb568834052f98e2f7f4550f
CRs-Fixed: 774533
2019-04-16 02:50:12 -07:00
Sandeep Puligilla
2c8d6217c9 qcacld-3.0: Enable VDEV manager on genoa platform
Enable VDEV manager on genoa platform.

Change-Id: Ifd037902c7b47ce17edfec5544b74108e3f54a13
CRs-Fixed: 2433803
2019-04-16 02:50:11 -07:00
Sachin Ahuja
6edf8d9cf2 qcacld-3.0: Correct the debugfs print for coex idrx read
The debugfs read operation for mws idrx is not printing the
correct subids.

Change the debugfs print to reflect the correct subids during
the coex idrx debugfs read operation.

CRs-Fixed: 2431347
Change-Id: I1a4bd623c17e41a69428c4611818f2b55153d505
2019-04-16 02:50:06 -07:00
Jeff Johnson
e2da578fb7 qcacld-3.0: Align with the refined struct add_ts_param
Change I421b670b86a7e1cecbe5a2686efefbbb6c455267 ("qcacmn: Refine
struct add_ts_param") is updating struct add_ts_param, so update the
legacy project to align with those changes. Note that these are
interdependent changes.

Change-Id: I829ad0abb864f0a05047894bab9977d8529074dc
CRs-Fixed: 2433928
2019-04-16 02:50:01 -07:00
nshrivas
00e0f5e4e6 Release 5.2.0.130M
Release 5.2.0.130M

Change-Id: Iafae36232b58690f86ffbe32f2fe395774b59efe
CRs-Fixed: 774533
2019-04-15 22:26:31 -07:00
Mohit Khanna
f7e7b340b6 qcacld-3.0: Save netdev TX queue state in flow control cb
Currently we are using NUM_TX_QUEUES=5. These queues correspond to
different access categories. For flow control, we end up
pausing/unpausing some of the pausing depending up the thresholds.

Save netdev TX queue states during flow control callback so that the
same information can be retrieved when the flow control stats are
dumped.

CRs-Fixed: 2431624
Change-Id: Icad3ff7a60e6e367cf650a2f249de3c2b70aded8
2019-04-15 22:26:30 -07:00
bings
d7357e8853 qcacld-3.0: Get SAP's wep key for shared wep from where it is saved
SAP needs correct key to decrypt the third authentication frame which
is encrypted by station, otherwise wep shared connection fails.

Need get correct wep key from where it is saved.

Change-Id: I3b5152a7374f8e1604ffe2b3900811f808d0126c
CRs-Fixed: 2425738
2019-04-15 22:26:25 -07:00
Sandeep Puligilla
c94d6c323a qcacld-3.0: Handle LFR3 roam failure
Handle LFR3 HO failure with vdev manager.

Change-Id: Ifeb3711957a95ba2a0ee9c6a62e1e65510f148d7
CRs-Fixed: 2430553
2019-04-15 22:26:20 -07:00
Harprit Chhabada
468a4ade93 qcacld-3.0: Enable CFG INI/NON INI logging
Enable logging of cfg ini/non ini items.
Also, enable support for iwpriv wlan0 getConfig.

Change-Id: I938588bda4c1074a0531626d73e10e74afb4f9a6
CRs-Fixed: 2432426
2019-04-15 22:26:15 -07:00
sheenam monga
70a83dacbf qcacld-3.0: Fix null ptr dereference in hdd_set_power_save_offload_config
Currently, hdd_set_power_save_offload_config does not do null validation
for power usage before string comparison which can lead to null pointer
derefrence.

Add null pointer check for power usage in
hdd_set_power_save_offload_config.

Change-Id: I91eba2f5eb27aebf7451be58a6744634aaebd184
CRs-Fixed: 2423777
2019-04-15 22:26:10 -07:00
nshrivas
3b59080d82 Release 5.2.0.130L
Release 5.2.0.130L

Change-Id: I74bf8d62db3e7ba9ac4914dd7d9f87c46e2a423b
CRs-Fixed: 774533
2019-04-15 17:44:06 -07:00
Bala Venkatesh
1c66bfb5fd qcacld-3.0: Revert back the default INI values
Enable the below INI values by default
enable_esp_for_roam
oce_enable_probe_req_deferral
oce_enable_probe_req_rate

Change-Id: Ie707e9707e3cbdbc2f6bef17b35d6d74513daba7
CRs-Fixed: 2434825
2019-04-15 17:44:05 -07:00
nshrivas
19226005ad Release 5.2.0.130K
Release 5.2.0.130K

Change-Id: I49184639644b83450ad37864375623cf2ef8261c
CRs-Fixed: 774533
2019-04-15 15:21:06 -07:00
Pragaspathi Thilagaraj
42dc8c9360 qcacld-3.0: Update HLP data from FILS assoc rsp frame to PE session
HLP data extracted from FILS association response frame needs to
be sent to upper layer. When association success is posted to
sme, HLP data is copied from lim pe_fils_info structure to
sme_join_rsp->roam_fils_info. But the hlp data is parsed from
association response frame but its not copied to pe_fils_session
This resuts in hlp data not sent to hdd and upper layers.
Copy fils data from parsed association response frame into the
pe_fils_info for FILS connection.

Currently there is pointer to hlp_data in pe_session also. But
it is not used and memory allocation is also not done for this
hlp_data. Cleanup this unused hlp data in pe_session and only
use the hlp data from pe_fils_session structure.

Change-Id: I0ef6df6e55130e18a85e2ddf49f8293d8672ac0b
CRs-Fixed: 2424493
2019-04-15 15:21:05 -07:00
Pragaspathi Thilagaraj
14f72de820 qcacld-3.0: Introduce new ini to configure disconnect/idle roam scans
Add new ini to configure required parameters to trigger
disconnect/idle roam scan:
1.enable_disconnect_roam_offload
	When this ini is enabled firmware will trigger roam scan
	and roam to a new ap if candidate is found and it will
	not forward the deauth frame to the host driver. If
	roaming fails after this deauth, then firmware will
	forward the deauth frame to the host. If roaming is
	successful, we will follow the normal roam synch event
	path.
2.enable_idle_roam
	When this ini is enabled firmware will trigger roam scan
	and roam to a new ap if current connected AP rssi falls
	below the threshold. To consider the connection as idle,
	the following conditions should be met:
		1. When user space sends "SET SUSPENDMODE"
		   command with value 0.
		2. No TX/RX data for idle time configured
		3. Connected AP rssi change doesn't exceed the
		   threshold
		4. Connected AP rssi false below minimum rssi.
3. idle_roam_rssi_delta
	RSSI change in current connected AP above/below which
	idle roam scan will be triggered if other criteria is
	met.
4. idle_roam_inactive_time
	Time duration in milliseconds for which the connection is
	to be considered idle.
5. idle_data_packet_count
	number of tx/rx packets below which the connection is
	idle.

Change-Id: Ibd1c91656ecd681f8dc83bc77197668a7f3bfa3f
CRs-Fixed: 2427132
2019-04-15 15:20:59 -07:00
Abhishek Singh
cd131ae9dc qcacld-3.0: Add new roamed BSS to scan cache directly
During LFR3 driver post the message to add the scan entry in
scheduler to scan module and continue with roaming and send roam
event to CFG layer. Also it set the new AP' scan entry in scan
module as associated, to avoid age out of the entry.

Now as the message posted to scan module will get schedule after
roaming is complete, if new AP's entry is not present in CFG scan
cache the roam indication to CFG may fail. Also if it's not present
in the driver cache the new AP's entry may AGE out and channel will
not be added in occupied list, used for roaming.

Thus update the scan entry in scan module and CFG in same context.

Change-Id: I2c5f165b43d48a0b0b54fdf08a0e53b31fac07aa
CRs-Fixed: 2435410
2019-04-15 16:16:20 +05:30
nshrivas
c0b6754608 Release 5.2.0.130J
Release 5.2.0.130J

Change-Id: I7ef05fbd6e0ee233e801953d7702e9778bd5a3be
CRs-Fixed: 774533
2019-04-13 15:31:17 -07:00
Bala Venkatesh
40f20fd88e qcacld-3.0: Avoid changing measurement duration units in beacon report
Currently, while processing the beacon report req and response the
measurement duration units changed from MS to TU and TU to MS
respectively.
Avoid this conversion as both are close units.

Change-Id: I663b7c8969904a373461fb80c7d505c96e74b48f
CRs-Fixed: 2431912
2019-04-13 15:31:17 -07:00
nshrivas
32056bafe8 Release 5.2.0.130I
Release 5.2.0.130I

Change-Id: I1f6b66d6d3f6c35bd07f4765ebf76e31b088752f
CRs-Fixed: 774533
2019-04-12 10:12:55 -07:00
Jayachandran Sreekumaran
df553017a5 qcacld-3.0: Correct the dev pointer provided in pld_usb
Correct the dev pointer provided in pld_usb_is_fw_down.

Change-Id: Ibc5569c2ae1645813ef2e197c7ad525320312113
CRs-fixed: 2433662
2019-04-12 10:12:55 -07:00
nshrivas
1964b5bf3d Release 5.2.0.130H
Release 5.2.0.130H

Change-Id: I584aa7fee256552fa7073110d4f695911a5efcf5
CRs-Fixed: 774533
2019-04-12 05:20:16 -07:00
Jingxiang Ge
b6e0236a61 qcacld-3.0: Fix race between client connect/disconnect
In SAP if a peer is disconnecting, so CSR roamstate is set to
eCSR_ROAMING_STATE_JOINING. Now if at the same time another peer
is trying to connect, eWNI_SME_UPPER_LAYER_ASSOC_CNF will be dropped
in eCSR_ROAMING_STATE_JOINING state.

Fix this by processing eWNI_SME_UPPER_LAYER_ASSOC_CNF in
eCSR_ROAMING_STATE_JOINING state.

Change-Id: I7d4347013eca494e537aaeb4468814238cb3fca6
CRs-Fixed: 2430840
2019-04-12 05:20:15 -07:00
hangtian
1c37fb9ccc qcacld-3.0: Memory optimize for QCS403 platform
Memory optimize for QCS403 platform, 1x1 chip. Reduce CE1 htt data
dest ring buffer from 512 to 256, reduce CE2 wmi dest ring buffer from
128 to 64, reduce CE9 & CE10 desg ring buffer from 512 to 64, disable
CE11 pktlog. Note: this change only affect specific WLAN build config for
extremely saving memory, for debug purose, there is another build
selecting default WLAN config for reference HW.

Change-Id: I868e74b09cdb11df3dccaa3f9e051da55724983d
CRs-Fixed: 2432631
2019-04-12 05:20:10 -07:00
Ajit Pal Singh
8cf6754eca qcacld-3.0: usb: Add CNSS update_status callback
Add update_status callback to pld usb which will be called by
CNSS to update WLAN FW status(FW-DOWN, RECOVERY)

Change-Id: I159e09eac8bdb75525c64e7b42c3315141ec1f8d
CRs-Fixed: 2430265
2019-04-12 05:20:05 -07:00
Jayachandran Sreekumaran
1438216e41 qcacld-3.0: Add support for pld_is_fw_down in usb
Add support for pld_is_fw_down in usb case.

Change-Id: I2103964c6413734ec4f156fe3058e67984b8e09b
CRs-fixed: 2432112
2019-04-12 05:19:59 -07:00
Rajeev Kumar
60a34715cf qcacld-3.0: Move os_if psoc locking inside when doing psoc trans wait
Since os_if_psoc_trans_wait may sleep on a wait event if there is any
active ongoing transition on driver, psoc or vdevs. Hence move the
os_if_psoc_sync_lock(a spin lock bh) inside sync calback API for psoc
look up such that spin lock is not held before starting the wait on
event. os_if_psoc_sync lock is for psoc look up and not for wait
and hence this fix makes locking fine granular as well.

Change-Id: I0537604337a6b594be3e7dc34dc97b79d5987ad4
CRs-Fixed: 2433409
2019-04-12 05:19:54 -07:00
nshrivas
b636b36c4d Release 5.2.0.130G
Release 5.2.0.130G

Change-Id: I2591b9ecb06f83d5195f492af35db30e0b20b077
CRs-Fixed: 774533
2019-04-12 02:56:23 -07:00
nakul kachhwaha
8b6c2315e3 qcacld-3.0: Enable CONFIG_HOST_OPCLASS for genoa
Enable CONFIG_HOST_OPCLASS to include supported
operating class feature in host driver for genoa.

Change-Id: I44d6a3aa7c1c3372186532f7ff1f4353aba41350
CRs-Fixed: 2429681
2019-04-12 02:56:22 -07:00
nshrivas
1e2eda4e18 Release 5.2.0.130F
Release 5.2.0.130F

Change-Id: Ibeb585f50603261fba7fb43fd813743e6deca1e4
CRs-Fixed: 774533
2019-04-12 00:36:31 -07:00
Rajeev Kumar
e01118e85f qcacld-3.0: Define PLD APIs for idle shutdown and restart
Define PLD APIs for idle shutdown and restart such that platform
driver can serialize PSOC idle shutdown and restart with driver
load/unload and SSR shutdown/reinit.

Change-Id: I4e772343fbccb099b9af104ac978dcdb650a567a
CRs-Fixed: 2431405
2019-04-12 00:36:30 -07:00
lifeng
88e5800271 qcacld-3.0: Validate cfgLength to the upper bound
Validate cfgLength to the upper bound before using it in copy
inside csr_get_cfg_max_tx_power()/lim_get_dot11d_transmit_power.

Change-Id: Ibcc1f145db9b902a29a0332553323d0a3ac6b2ff
CRs-Fixed: 2423707
2019-04-12 00:36:25 -07:00
nshrivas
ad0e83df29 Release 5.2.0.130E
Release 5.2.0.130E

Change-Id: I20a8eb74065e509c88d25df9f20f64ba41bfe39e
CRs-Fixed: 774533
2019-04-11 22:09:33 -07:00
Rajeev Kumar
0118dc9cc9 qcacld-3.0: Move os_if vdev lock inside when doing vdev trans wait
Since os_if_vdev_trans_wait may sleep on a wait event if there is any
active ongoing transition on driver, psoc or vdevs. Hence move the
os_if_vdev_sync_lock(a spin lock bh) inside sync calback API for vdev
look up such that spin lock is not held before starting the wait on
event. os_if_vdev_sync lock is for vdev look up and not for wait
and hence this fix makes locking fine granular as well.

Change-Id: I2cca560aeed9b79648168a09f596dbaa374ecbb5
CRs-Fixed: 2433829
2019-04-11 22:09:32 -07:00
Rajeev Kumar
70d2e56aae qcacld-3.0: Move os_if driver lock inside when doing driver trans wait
Since os_if_driver_trans_wait may sleep on a wait event if there is any
active ongoing transition on driver, psoc or vdevs. Hence move the
os_if_driver_sync_lock(a spin lock bh) inside sync calback API for driver
look up such that spin lock is not held before starting the wait on
event. os_if_driver_sync lock is for driver look up and not for wait
and hence this fix makes locking fine granular as well.

Change-Id: I32c582bedbbee81d3a5b171666fc3009c3dc7e5a
CRs-Fixed: 2433825
2019-04-11 22:09:28 -07:00
nshrivas
291807f0a0 Release 5.2.0.130D
Release 5.2.0.130D

Change-Id: I7672e9dac18e3c0bd6728d7efb270b6c91eb54e6
CRs-Fixed: 774533
2019-04-11 12:38:34 -07:00
Harprit Chhabada
c67478f0d7 qcacld-3.0: Null check while calling md_host_evt_cb
wma_motion_det_host_event_handler() get called when FW sent
WMI_MOTION_DET_HOST_EVENTID message.
After the initial processing, pmac->sme.md_host_evt_cb() is
called to send the relevant data back up to the upper layers
of WLAN.
Since this callback function is dynamically registered there
are cases where it might not be registered before this FW event
is received, resulting in a NULL pointer dereference.

Change-Id: I06b7907b39f4da0837196ccf377ecc2da325be8c
CRs-Fixed: 2428803
2019-04-11 12:38:34 -07:00
Min Liu
e2b469f61f qcacld-3.0: Rename bssid in cfg80211_update_owe_info to peer
The field bssid in cfg80211_update_owe_info is renamed to peer
in kernel. Change it accordingly in WLAN driver.

Change-Id: Idf6e051d875c2a9dbe10c49eab7aa02536e5bdc4
CRs-Fixed: 2433437
2019-04-11 12:38:30 -07:00