Commit Graph

20896 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
34f9efb523 qcacld-3.0: Update pmk for 11r connetion
For 11r connetion psk pmk is not updated to roam_req.
Copy the pmk from session in
csr_cm_roam_scan_offload_fill_lfr3_config().

Change-Id: I0c71a4f438b3d2d1569d0e0c6bae03da48737c2f
CRs-Fixed: 2782304
2020-09-25 13:00:04 -07:00
Srinivas Girigowda
9200d0bba4 qcacld-3.0: hdd: Remove logs for qdf_mem_malloc() checks
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: I135bfe0e5adb018ebd676d3ac50f958ea9dedf71
CRs-Fixed: 2781932
2020-09-25 12:59:59 -07:00
Srinivas Girigowda
eab3348cb2 qcacld-3.0: dp: Remove logs for qdf_mem_malloc() checks
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: If24f25fb61bda6f9cd18ec45c5ded2eb53748736
CRs-Fixed: 2781932
2020-09-25 12:59:55 -07:00
Srinivas Girigowda
a2ca355c9f qcacld-3.0: umac: Remove logs for qdf_mem_malloc() checks
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: I9f97967870b3bd05355e21b68a77230b920eeb0a
CRs-Fixed: 2781932
2020-09-25 12:59:50 -07:00
Srinivas Girigowda
78824d97ff qcacld-3.0: os_if: Remove logs for qdf_mem_malloc() checks
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: I6a29180db4bd55385da4c79f793b2d9ff3c9cfb8
CRs-Fixed: 2781932
2020-09-25 12:59:46 -07:00
Srinivas Girigowda
d36054fbd2 qcacld-3.0: components: Remove logs for qdf_mem_malloc() checks
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: If0b9425f82f9ed793c7639c0ed09eb1f868b6d5c
CRs-Fixed: 2781932
2020-09-25 12:59:42 -07:00
Jinwei Chen
ecee02da1d qcacld-3.0: do memory zero for pre-alloc multi-pages when free
Do each page memory zero operation for pre-alloc pages memory
when the pages memory is put back to pool.

Change-Id: I06689054ff57df2177f9d0d183494a357e4e05d6
CRs-Fixed: 2776363
2020-09-25 12:59:38 -07:00
Jinwei Chen
96997b6d7c qcacld-3.0: prealloc for multiple pages allocation
prealloc for multiple pages allocation.

Change-Id: I4b6209eaf51f02165372290fc4912e26fb1ce139
CRs-Fixed: 2751340
2020-09-25 12:59:34 -07:00
snandini
e0f4cdef5f Release 5.2.0.204
Release 5.2.0.204

Change-Id: Id29dfb1e61fcb5f828d98a3d01e88f2d1dc8534d
CRs-Fixed: 774533
2020-09-25 01:29:43 -07:00
Wu Gao
f4e2f4b9d7 qcacld-3.0: Save operational rate to vdev mlme legacy object
For STA+P2P GO case, DUT sets operational rates when connecting to AP
as STA, and overwrites it when DUT forming P2P connection as P2P GO.
So, add this change to save operational rates to vdev mlme legacy
object, and avoid to overwrite for other inferfaces.

Change-Id: I2bfbecbc9bc50b8943b1e3de516782e70b125ce2
CRs-Fixed: 2773943
2020-09-25 01:29:43 -07:00
Arun Kumar Khandavalli
a16d7d09ca qcacld-3.0: Stop dsc transaction in case of reinit failure
Incase of any error in the driver reinit the dsc transaction is
not stopped resulting in the timeout and system instability.

To mitigate the above issue, stop the dsc timeout incase of
reinit failure.

Change-Id: I59b37581a2e6909b61a32344ae9c4af2118558eb
CRs-Fixed: 2780376
2020-09-25 01:29:38 -07:00
Ananya Gupta
ed8fecee78 qcacld-3.0: Cleanup iface if net_dev changed for same vdev
If adapter is changed for a particular vdev and
QDF_IPA_AP_DISCONNECT event was not sent to IPA event
handler when the earlier adapter went down, iface is not
cleaned up.
To fix this, cleaning up the interface when new interface
is being setup for the same vdev and net_dev is not matching.

Change-Id: Icb227df8ef31e9c2c904873559e3b33f05fc03b5
CRs-Fixed: 2777672
2020-09-25 01:29:34 -07:00
snandini
7260122c8a Release 5.2.0.203Z
Release 5.2.0.203Z

Change-Id: I02204b5f0492cf8aaa945fba52b688e54c31ba08
CRs-Fixed: 774533
2020-09-24 15:48:17 -07:00
Manikanta Pubbisetty
f36e361f0d qcacld-3.0: fix CMEM de-initialization
DP SOC's fst_in_cmem will be set to true when the FW has support
for placing FST in CMEM; in FTM mode, though this variable will be
set, CMEM parameters will not be initialized. When the mode is
changed to mission mode, we try to de-initialize CMEM parameters
which are not initialized. Do not rely on this variable for
de-initialization of CMEM parameters.

Change-Id: I1818d5572b281b4ae800f3fef0c633fedde9e758
CRs-Fixed: 2783939
2020-09-24 15:48:17 -07:00
Jingxiang Ge
763d089577 qcacld-3.0: Donot do SSR if driver is unloading
Issue is triggered as driver/psoc trans both null
in hdd_soc_recovery_reinit. it happens in below
scenario.
1 driver begin unloading
2 fw assert and ssr begin
3 hdd_soc_recovery_shutdown return directly as driver
  trans.
4 checking driver/psoc trans in hdd_soc_recovery_reinit->
  osif_psoc_sync_trans_resume will expose issue.

Fix is to avoid SSR when unloading driver.

Change-Id: Ide520bc8adb4a0fc2bcfaf187905fdd3975cb314
CRs-Fixed: 2782035
2020-09-24 15:48:13 -07:00
snandini
10cb19154c Release 5.2.0.203Y
Release 5.2.0.203Y

Change-Id: I2aedc9d042a548383bd0bd299f9e905be97e710e
CRs-Fixed: 774533
2020-09-24 13:19:42 -07:00
Jianmin Zhu
1e9696ee08 qcacld-3.0: Handle case when SAP assoc rsp tx complete failed
When DUT SAP assoc rsp tx complete failed, assoc failed, should send
disassoc and remove the sta peer, or hostapd will add a fake
peer and send EAPOL to it until timeout. When timeout, host will send
deauth to the peer which will stop new connecting from peer.

Change-Id: I9dc72bec2c67c93bd9749df30e93a0526796ee49
CRs-Fixed: 2779345
2020-09-24 13:19:42 -07:00
snandini
c04c888522 Release 5.2.0.203X
Release 5.2.0.203X

Change-Id: Id91cca93707537fab8a53e3b46df1587e8c4bfdd
CRs-Fixed: 774533
2020-09-24 10:45:43 -07:00
Utkarsh Bhatnagar
e4460aed7e qcacld-3.0: Add ini to configure 4K QAM MCS rates
Add ini he_mcs_12_13_support which will be used to enable
or disable 4K QAM MCS rates.
This ini can be used to set. MCS 12 and 13 for 2.4Ghz and
5Ghz. First 16 bits(0-15) is for 2.4ghz and next 16 bits
is for 5Ghz. Of 16 bits the higher, first 8 bits represent
BW less than or equal 80Mhz (<= 80Mhz) and higher 8 bits
represent BW greater than 80Mhz (> 80Mhz). nth bit in octet
represents support for nth NSS [n=1:8].
Def value is 0xFFFFFFFF which enable MCS 12 and 13 for all
NSS and BW.
Also, enable 4K QAM MCS only when this ini is enabled and
firmware also supports it.

Change-Id: I8375203735d8b07ef4ff86be2213da127be4e556
CRs-Fixed: 2762230
2020-09-24 10:45:42 -07:00
Jianmin Zhu
6e500465bb qcacld-3.0: Remove wlan_reg_chan_to_freq in wlan_mlme_main.c
Remove useless legacy CFG_VALID_CHANNEL_LIST ini.
Remove wlan_reg_chan_to_freq in wlan_mlme_main.c.

Change-Id: I7368f03fde6cc190c231f3b053811215796ed8d2
CRs-Fixed: 2777094
2020-09-24 10:45:39 -07:00
Jianmin Zhu
a4e47ce584 qcacld-3.0: Remove wlan_reg_chan_to_freq
Remove wlan_reg_chan_to_freq due to channel ambiguity.
For some legacy channel if from ini or OTA, replace it with
wlan_reg_legacy_chan_to_freq.

Change-Id: Ia59f150d36262e21d13b7e815f599d94c3f28676
CRs-Fixed: 2776235
2020-09-24 10:45:35 -07:00
snandini
2ee13fab6e Release 5.2.0.203W
Release 5.2.0.203W

Change-Id: I603d8d98b0ea957cc1fb1584c7cb90fdd21981fd
CRs-Fixed: 774533
2020-09-24 05:56:07 -07:00
Chaoli Zhou
781829f879 qcacld-3.0: Do ipa tx buffer map after ipa register callback invoked
Do ipa tx buffer map after registering IPA ready
callback with IPA driver. Otherwise ipa_is_ready
flag always is false while calling cds_smmu_map_unmap
from htt_tx_ipa_uc_wdi_tx_buf_alloc, and then
it will not really make tx buffer map take effect

Change-Id: Ib2fee8e5b68d5ba06c8079d39c0a5695087cbc2b
2020-09-24 05:56:07 -07:00
snandini
397c1deccc Release 5.2.0.203V
Release 5.2.0.203V

Change-Id: I1266cb3503f1dba8824b2d3140355a73f0d93259
CRs-Fixed: 774533
2020-09-24 03:26:57 -07:00
Srinivas Girigowda
804a370924 qcacld-3.0: Set num_dbs_hw_modes to 0 on malloc failure
Set num_dbs_hw_modes to 0 on malloc failure.

Change-Id: I29c1a54b290892c149c2c84250042a7115a1d07a
CRs-Fixed: 2781988
2020-09-24 03:26:56 -07:00
snandini
007da22d30 Release 5.2.0.203U
Release 5.2.0.203U

Change-Id: Ic6cec15b711a66861ee0ec35e3623b66f62b3f42
CRs-Fixed: 774533
2020-09-24 00:13:32 -07:00
Yu Tian
33d7b2b87f qcacld-3.0: add gro flush when bus change to idle
GRO queue more pkts is enabled in bus vote low, when
bus vote back to idle, these frames may not flushed to
stack, use force flush to reduce latency.

Change-Id: I22b5cf994fe02b7e3156a845ee13a5acbf791b22
CRs-Fixed: 2774662
2020-09-24 00:13:31 -07:00
Jyoti Kumari
1b97e38bec qcacld-3.0: Change default value of TDLS parameter
Change default value of gEnableTDLSSupport, gEnableTDLSScan
and gEnableTDLSImplicitTrigger 1

Change-Id: Ic6559a5f77b1d46bc48647c283327a12c409d873
CRs-Fixed: 2783560
2020-09-24 00:13:26 -07:00
snandini
2f74b2b618 Release 5.2.0.203T
Release 5.2.0.203T

Change-Id: Icda28860ce65698c0b9e7aefa964d9aaaee0f46f
CRs-Fixed: 774533
2020-09-23 19:35:10 -07:00
Utkarsh Bhatnagar
3fb55f01e4 qcacld-3.0: Update peer if add TDLS is rejected in of case ongoing setup
In case two clients try to establish the TDLS connection simultaneously,
the peer who is able to transmit the setup request first will be
connected and the other request is in driver without notifying the peer.
This causes peer to get stuck waiting for the TDLS setup response. So,
send TDLS setup response with unspecified failure reason code, ift here
is already TDLS setup.
Also, drop the setup response only if status code is zero in case setup
is already in progress. This way if the status code is set which will be
set in tdls_activate_add_peer(), in case of request already in process,
the same error code can be notified to the peer.

Change-Id: I83fea4586d6e344a86a9185b078e4d87ec38c664
CRs-Fixed: 2771973
2020-09-23 19:35:09 -07:00
CNSS_WLAN Service
433d3a47b5 Merge "Release 5.2.0.203S" into wlan-cld3.driver.lnx.2.0 2020-09-23 03:11:00 -07:00
CNSS_WLAN Service
d0753ca5eb Merge "qcacld-3.0: Clear reassoc_scenario flag when ASSOCIATION_COMPLETION" into wlan-cld3.driver.lnx.2.0 2020-09-23 03:10:59 -07:00
CNSS_WLAN Service
907e420fd2 Merge changes Ic1765889,Ie064322f,I6022c438 into wlan-cld3.driver.lnx.2.0
* changes:
  Release 5.2.0.203R
  qcacld-3.0: fix a possible out-of-bounds access issue
  Release 5.2.0.203Q
2020-09-23 03:10:57 -07:00
snandini
bdd1aa18c1 Release 5.2.0.203S
Release 5.2.0.203S

Change-Id: I7c3ee0d661d6116cda8817f67cc9dbea65249ea5
CRs-Fixed: 774533
2020-09-23 03:03:21 -07:00
Lihua Liu
9dab73797c qcacld-3.0: Clear reassoc_scenario flag when ASSOCIATION_COMPLETION
Currently, sta_ctx->hdd_reassoc_scenario is set when ROAM_FT_START
and cleared when ROAM_SET_KEY_COMPLETE. But for some roaming case,
no KEY exchange happen after roaming complete. Then this flag
is not cleared, which cause failure to get station stats in
wlan_hdd_get_sta_stats, such as RSSI info. To address this, clear
sta_ctx->hdd_reassoc_scenario when handling
ROAM_ASSOCIATION_COMPLETION.

Change-Id: I0b96246afe227023fd52df93f27bed23ffd7cb1c
CRs-Fixed: 2763178
2020-09-23 03:03:21 -07:00
snandini
7f10d76568 Release 5.2.0.203R
Release 5.2.0.203R

Change-Id: Ic17658897546833c33186a3584e5c04e4694f451
CRs-Fixed: 774533
2020-09-22 16:11:28 -07:00
Yu Wang
f7b5dced13 qcacld-3.0: fix a possible out-of-bounds access issue
The array size of 'channels' in struct channel_list_info
is CFG_VALID_CHANNEL_LIST_LEN, which may smaller than
NUM_CHANNELS, function 'iw_get_channel_list()' may attempt
to access element CFG_VALID_CHANNEL_LIST_LEN..NUM_CHANNELS
of array 'channels'.
To make align, fix array size of 'channels' to NUM_CHANNELS,
and refine 'iw_get_channel_list_with_cc()'.

CRs-Fixed: 2777780
Change-Id: Ie064322f14186310a769db2642e69c8a520f1b26
2020-09-22 16:11:28 -07:00
CNSS_WLAN Service
052557d545 Merge "qcacld-3.0: Flush only NAPI listified_rx_normal in low TPUT" into wlan-cld3.driver.lnx.2.0 2020-09-22 14:47:07 -07:00
CNSS_WLAN Service
24121c8dba Merge "qcacld-3.0: Drain mgmt tx completion only during SSR" into wlan-cld3.driver.lnx.2.0 2020-09-22 14:47:06 -07:00
snandini
aaa3a692ce Release 5.2.0.203Q
Release 5.2.0.203Q

Change-Id: I6022c43865c23d638d8d89f392dd9e34f9ba2319
CRs-Fixed: 774533
2020-09-22 12:15:40 -07:00
Manjunathappa Prakash
b1aade6f75 qcacld-3.0: Flush only NAPI listified_rx_normal in low TPUT
Enable low_tput GRO skip logic in 5.4 kernel based GRO.
It is required to always flush listified normal Rx frames at end of
context. Skip flush for GRO rx at low TPUT.
So it requires flush to be aware of low TPUT, hence pass the flush code
to DP GRO flush.

Change-Id: I20c1efcc7bbe0aa50f350ebc31eaefbbefd69616
CRs-Fixed: 2745763
2020-09-22 12:15:40 -07:00
Arun Kumar Khandavalli
563c987d44 qcacld-3.0: Drain mgmt tx completion only during SSR
To send the vdev delete to firmware, all the references needs to
be released, so on receiving the iff_down from the userspace,driver
is currently draining the peer management frames which are queued
to the firmware, if the firmware is active it can access these
drained frames resulting in system instability.

Drain the management frames only when the driver is recovering.

Change-Id: Ia7a83088cde857c7111f8dff9e18422257fc8cb8
CRs-Fixed: 2778328
2020-09-22 12:15:36 -07:00
snandini
9f6ece6229 Release 5.2.0.203R
Release 5.2.0.203R

Change-Id: I68f5217209d606c302dd5af05879111121d39fdc
CRs-Fixed: 774533
2020-09-22 07:59:21 -07:00
Gururaj Pandurangi
2912a925a2 qcacld-3.0: Change default value of gMaxLIModulatedDTIM
Reduce default value of gMaxLIModulatedDTIM from 10 to 5
to shorten the listen interval. It provides better
connectivity when AP has a large DTIM Period or
Beacon Interval.
Also, move the ini definition to sta header file from
sap header file.

Change-Id: I9661c6fc623949cf8b260043e8da7448b496d57f
CRs-Fixed: 2780070
2020-09-22 07:59:21 -07:00
hqu
8bd89b11dd qcacld-3.0: Send roam scan_mode/deauth/idle/trigger when rso enabled
In the process of rso update config, need to send roam
scan_mode/deauth/idle/trigger commands when rso enabled.

Another fix is to call csr_cm_roam_scan_offload_fill_rso_configs()
with ROAM_SCAN_OFFLOAD_STOP in wlan_cm_roam_fill_stop_req().

Change-Id: Ibcc2ab5d7da1bf838b386e0e1e486cd43072225a
CRs-Fixed: 2779549
2020-09-22 07:59:17 -07:00
snandini
f90c8f86cd Release 5.2.0.203Q
Release 5.2.0.203Q

Change-Id: I3c41e04a106f382ca28d10b23621ff4276848249
CRs-Fixed: 774533
2020-09-22 05:33:06 -07:00
Kiran Kumar Lokere
92e14370ce qcacld-3.0: Dont reset the supplicant roaming disabled flag
Supplicant disabled flag is used to skip the RSO stop command
sending to FW as RSO stop aborts the roaming in FW. Do not reset
the flag in the reassoc call from user space to complete the
roaming in FW by not sending the RSO stop command.

Change-Id: I1cda88d24942d60ca98b497ddbbbea3a5fc52a56
CRs-Fixed: 2771009
2020-09-22 05:33:06 -07:00
snandini
01c90a667c Release 5.2.0.203P
Release 5.2.0.203P

Change-Id: I823add8d09de11e588b36ea5de7ec6f015267f34
CRs-Fixed: 774533
2020-09-21 22:01:48 -07:00
Abhinav Kumar
5a5ab2c344 qcacld-3.0: Sae single pmk entry gets updated while roaming
While initial connection with SPMK AP1 supplicant generates
PMK1, and DUT updates global mlme single pmk entry and
csr session pmk.

Now DUT roam to non-SPMK AP2 and generates PMK2, Global mlme
single pmk has SPMK AP1 PMK1 and csr_roam_session has non-SPMK
AP2 since FULL SAE happen.

Now Roam back to SPMK AP1, since the Full SAE does not happen
and due to check roam_synch_data->authStatus ==
CSR_ROAM_AUTH_STATUS_AUTHENTICATED in
csr_process_roam_synch_callback(). The lookup and update
csr_roam_session code is not hit and driver don’t update
csr session pmk after roaming to SPMK AP. So after roam sync complete,
csr_check_and_set_sae_single_pmk_cap() updates the global mlme
single pmk with session->psk_pmk. This results DUT uses PMK generated
from a Non-Single PMK supported AP in the ReAssoc Request frame
while Roaming to Single PMK supported AP.

Fix is to allow driver to update session->psk_pmk even in case
Full SAE does not happen.

Change-Id: Ie4f06cfcb066ae245de024b62da586aade783aec
CRs-Fixed: 2761771
2020-09-21 22:01:48 -07:00
Gururaj Pandurangi
23bd10364d qcacld-3.0: Enable beaconing for non-dfs 160 MHz BW
Enable beaconing for 160 MHz BW when all the channels
are non-DFS. Addition of new 5.9 GHz channels 169, 173,
and 177 has created a new 160 MHz BW channel bonding
pair (149-177) and beacons can be sent out from SAP
for this pair.

Change-Id: Ifd222a01a5058cf02d6e1d819da9d213eb0fd9ca
CRs-Fixed: 2778707
2020-09-21 22:01:43 -07:00