Commit graph

21,374 commits

Author SHA1 Message Date
Jinwei Chen
f8a401631f qcacld-3.0: Fix invalid BW vote for FISA aggregation case
Currently for FISA aggregated RX frame, one skb will contain 2~16
RX msdu, if only count 1 RX msdu into stats, BW vote is not right
that even if RX T-put > 1 Gbps, wlan only vote 4(high), this can not
satisfy the vote requirement for peak T-put > 2 Gbps which should be
5(very high) which then degrade the T-put.

Fix RX packets stats correctly for aggregated RX frame.

Change-Id: Idd0cee1b68555dedad49025c03a13a929ec2af1c
CRs-Fixed: 2838667
2021-01-05 18:23:51 -08:00
snandini
a944045a04 Release 2.0.8.7I
Release 2.0.8.7I

Change-Id: I73d20d9368423667f19c3b39b0bed3556c7e8473
CRs-Fixed: 774533
2021-01-05 15:31:13 -08:00
snandini
311f0f392b qcacld-3.0: Modify IEs for 6 GHz processing
Modify IEs for 6 GHz processing.

Country IE - Make the first triplet mandatory and keep
rest of the triplets as optional as 6ghz channels are
denoted by operating class/subband sequence and the
triplet field will have details about it.

transmit_power_env IE - Rename vht_transmit_power_env to
transmit_power_env and add 3 new subfields-
Max tx_pwr_count - indicates the number of local max tx
power For X MHz fields (where X = 20, 40, 80, or 160/80+80)
minus 1 in max tx pwr field of the TPE element.
Max tx_pwr_interpret - indicates the contents of max tx power
field (local EIRP, Local EIRP PSD etc) and interpretation of
the max tx power count field.
Max tx_pwr_category - indicates a category for which max
tx powers apply. A value of 0 indicates the default category;
the interpretation of other values depends on the country.

HE Ops IE - Addition of a 3-bit subfield Regulatory info,
reg_info indicates TYPE of the 6GHZ AP that is carrying this
IE in the beacon: this would typically be SP, LPI or VLP.

Change-Id: If6fbb8a92a6f80b6bcf18906494d08ff048d68a4
CRs-Fixed: 2822657
2021-01-05 15:31:13 -08:00
snandini
850ecb375d Release 2.0.8.7H
Release 2.0.8.7H

Change-Id: I0e8ff10f2d40159d6ce50b50ff02f385c9edd528
CRs-Fixed: 774533
2021-01-05 05:37:56 -08:00
Vevek Venkatesan
4a40f3bd18 qcacld-3.0: add sync between suspend and wow resume in runtime pm
In moselle, once wow enabled there is a possibility that wow wake
interrupt can be fired from FW during runtime suspend in progress
in host, this will introduce a race between runtime suspend and
resume, so adding a synchronization between runtime suspend and
wow triggered runtime resume.

Change-Id: I19a4d70f47d5c202d0ba291c3edc8a260690f434
CRs-Fixed: 2845670
2021-01-05 05:37:56 -08:00
snandini
576ad65201 Release 2.0.8.7G
Release 2.0.8.7G

Change-Id: Ieb18a0f024363f2ee1b72cb45f5e7d9363b9ac22
CRs-Fixed: 774533
2021-01-05 01:39:43 -08:00
Ashish Kumar Dhanotiya
ba856a8978 qcacld-3.0: Update he and ht rate flags correctly
Currently driver does not update he and ht rate flags correctly
in wma as rate flags should include all the subsets of the
lower rate sets, which is not the case today and driver only
updates the higher rate flag. Because of which it leads to
invalid computation of txrate at the kernel.

To address this issue, update he and ht rate flags correctly in
wma.

change-Id: I6ec68af1f75650990384efbd61536042329665b2
CRs-Fixed: 2837245
2021-01-04 21:54:11 -08:00
snandini
ebcde93b7b Release 2.0.8.7F
Release 2.0.8.7F

Change-Id: Icfe5ebaeaba5b25d9d63865c83da0c341ad28358
CRs-Fixed: 774533
2021-01-04 01:13:27 -08:00
sheenam monga
192bf9d78d qcacld-3.0: Use CFG_BTM_ENABLE to forward BTM request frame
Enable 10th bit of CFG_BTM_ENABLE ini to forward BTM request
frame to upper layers when frame contains MBO assoc retry
attribute. when supplicant receives this MBO frame it will
use the frame info for blacklisting the AP so for the next
connection framework will avoid this AP.

Change-Id: I9a675cc01769c38ad5be26ea5fd28ada8dc03546
CRs-Fixed: 2843323
2021-01-04 01:13:26 -08:00
snandini
732c44d52b Release 2.0.8.7E
Release 2.0.8.7E

Change-Id: I3a1524a9c7217850ba82bb2bf283ad6214ae5ffc
CRs-Fixed: 774533
2021-01-03 17:33:09 -08:00
Yu Wang
28e3a2d1c0 qcacld-3.0: skip redundant update request for dual mac cfg
Dual mac configuration is static from wlan module
start to module stop, no need to update for each
adapter starting.
To reduce the time cost on starting adapter, add
a flag to indicate the status of dual mac config,
skip the update request if it's been updated.

Change-Id: I033cda08173503d133a06eca617655d1cefe4d0d
CRs-Fixed: 2839192
2021-01-03 17:33:09 -08:00
snandini
cd5a2c78fd Release 2.0.8.7D
Release 2.0.8.7D

Change-Id: I3f6eb5e2861012309be56ceb9aadf897a843d7ba
CRs-Fixed: 774533
2021-01-03 01:02:33 -08:00
Abdul Muqtadeer Ahmed
2448e874b3 qcacld-3.0: Use objmgr api to get the vdev for pmo
Currently pmo_psoc_get_vdev api just returns the vdev without
taking the vdev reference and it is caller's responsibility to
take the reference, there could be a race condition where after
getting the vdev and before getting the reference of that vdev,
some other thread may delete this vdev.

To avoid this issue use objmgr api to get the vdev for pmo.

Change-Id: I3495589e2dbbb7d8efc579a62fff1a08a92c318f
CRs-Fixed: 2771211
2021-01-03 01:02:31 -08:00
snandini
c9bb058c22 Release 2.0.8.7C
Release 2.0.8.7C

Change-Id: I18ae304fce9cedaadbd2b768d36777333fe0d8ef
CRs-Fixed: 774533
2020-12-30 23:13:19 -08:00
Rakesh Pillai
95ee442b31 qcacld-3.0: Set DMA mask during before pre-alloc
Currently the DMA mask is set as a part of hif enable
which is called after the datapath memory pre-alloc.
As a part of datapath pre-alloc even dma memory is
pre-alloced, which is attempted with a default dma
mask of 32, since no mask is set by the driver.

To fix this, set the dma mask before datapath memory
pre-allocation is done.

Change-Id: Id850cbd28e2ea88aa68779867db2cb3c9d9a7856
CRs-Fixed: 2845019
2020-12-30 23:13:19 -08:00
snandini
4ee9191317 Release 2.0.8.7B
Release 2.0.8.7B

Change-Id: Ibdd6159000361b4d5544b9f60c7cfe4deab497ce
CRs-Fixed: 774533
2020-12-30 05:49:07 -08:00
Pragaspathi Thilagaraj
662b6a1dbc qcacld-3.0: Send Roam scan mode value 0 to disable roaming
When RSO stop is sent to firmware, if reason is disconnect
or driver internally disabled roam, the Roam scan mode should
be 0, but driver is sending value as 4. This causes firmware
to have roam offload registered on 2 vdevs for targets where
simultaneous roaming is not enabled.

Pass the proper reason code to fill roam scan mode config
while sending RSO stop.

Change-Id: I0bc3674526663742cc3c3fc85076698f3dcaa197
CRs-Fixed: 2833353
2020-12-30 05:49:07 -08:00
snandini
0c938fe19c Release 2.0.8.7A
Release 2.0.8.7A

Change-Id: I428aa22793b4b8c704cdb50a8ec0eb957f5b7a7c
CRs-Fixed: 774533
2020-12-29 19:58:01 -08:00
Abhinav Kumar
cbed0d92f6 qcacld-3.0: Stop roaming while disconnection
When host receives ap capability change indication,
internal disconnection is triggered from csr without
sending stop roaming (RSO stop) to fw. So in STA+STA
scenario, after connection on 1st sta, roaming will
be enabled on 2nd sta, but since RSO stop was not sent
on 1st sta, firmware will assert as btm offload is not
disabled at the 1st STA.

Disable roaming first, followed by vdev stop/vdev down to
firmware.

Change-Id: I183b590b36ecfd81150bb59c33c4752c718c93ba
CRs-Fixed: 2798081
2020-12-29 19:58:01 -08:00
snandini
25ac5ea019 Release 2.0.8.7
Release 2.0.8.7

Change-Id: Ifd03869cf1ccc15e03b1577c778c351be3d56bb9
CRs-Fixed: 774533
2020-12-28 21:56:56 -08:00
Jinwei Chen
59cbbf640b qcacld-3.0: support fisa fse cache flushing disable/enable
FISA FSE cache flushing is not allowed after PCIe bus suspended,
add function to support FISA FSE cache flushing disable/enable.

Change-Id: I4371e2941a4d2b590fa66db8390135f2620b54a3
CRs-Fixed: 2841740
2020-12-28 18:31:34 -08:00
snandini
c929715783 Release 2.0.8.6Z
Release 2.0.8.6Z

Change-Id: I17923c47cce49b5630105a425b4f4b2f218a5e9b
CRs-Fixed: 774533
2020-12-28 03:44:51 -08:00
sheenam monga
1048d0a079 qcacld-3.0: Update documenation of CFG_BTM_ENABLE
FW considers 9th bit of CFG_BTM_ENABLE for btm query
with candidate list which is not mentioned in ini
documentation.

Change-Id: I4fefdaa464e14c350d885107a28051fa0ad309f0
CRs-Fixed: 2839587
2020-12-28 03:44:51 -08:00
snandini
7894905411 Release 2.0.8.6Y
Release 2.0.8.6Y

Change-Id: I00eaf533967ebe6e6c3d587dde484b988e256682
CRs-Fixed: 774533
2020-12-28 01:41:15 -08:00
Jianmin Zhu
6a2b3320b7 qcacld-3.0: Clear RSN CAP When set IE for WAPI connection
RSN CAP isn't needed and set when set IE for WAPI connection, if last
connection is WPA2, vdev crypto params rsn caps is set, it need to be
cleared, or RSN CAP is set for WAPI, WAPI connection may fail.

change-Id: I2120751576b0ab260077e013ef88428238e53896
CRs-Fixed: 2841012
2020-12-28 01:41:15 -08:00
snandini
8db1f23ddf Release 2.0.8.6X
Release 2.0.8.6X

Change-Id: I3a84807c81755e0ea410cb4d793ec585ae3c529d
CRs-Fixed: 774533
2020-12-27 23:45:20 -08:00
Abhishek Ambure
c0954d33d7 qcacld-3.0: Allow switch to RSO STOP State while roam in progress
Problem scenario:
1) Host gets roam event from FW and RSO state is switched to
   ROAM_IN_PROGRESS.
2) Host gets reassoc response followed by FW down indication.
3) Host processes reassoc response in HDD and sends disassoc to
   FW as FW down indication received.
4) As a part of disassoc host tries to switch RSO state to STOP.
   But as present RSO state is ROAM_IN_PROGRESS and FW is down,
   host fails to send RSO stop command to FW and doesn't switch
   RSO state to STOP.
5) Lim disassoc send fails due to FW is down and host proceeds
   with lim_send_disassoc_cnf and lim_cleanup_rx_path.
6) In lim_cleanup_rx_path() host checks for present RSO state is
   ROAM_IN_PROGRESS and returns without calling lim_del_sta();
7) Thus peer delete and vdev delete is not send to FW and host
   vdev State machine stuck at SP-SUSPEND_DOWN which leads to
   peer and vdev reference leaks.

Fix:
Allow switch to RSO stop state while present RSO state is
ROAM_IN_PROGRESS.

Change-Id: I4a838ecd98a7ca377cd557d7a01a93ac53449595
CRs-Fixed: 2844647
2020-12-27 05:44:06 -08:00
snandini
7c714b5cda Release 2.0.8.6W
Release 2.0.8.6W

Change-Id: I2e8d9459616855b071f906c9bef555808351b128
CRs-Fixed: 774533
2020-12-27 03:33:14 -08:00
Sachin Ahuja
b7b8edaee7 qcacld-3.0: Return failure for runtime resume if FW is down
Currently when the FW is down, runtime resume return success
status but does not send the power exit and WOW wake up from
sleep command to FW. So WMI_WOW_SET_ACTION_WAKE_UP_CMDID
command is sent to FW which leads to panic.

To avoid this issue, send the correct error status for runtime
resume if FW is down.

CRs-Fixed: 2830614
Change-Id: Id27d2648427b32d32c15370fbb170fafec9450d2
2020-12-27 03:33:14 -08:00
snandini
b29a7ea677 Release 2.0.8.6V
Release 2.0.8.6V

Change-Id: I238c105cbeff2ab6c2c6deabfd9165cea11ec0a4
CRs-Fixed: 774533
2020-12-23 23:12:09 -08:00
Ananya Gupta
288da4ff76 qcacld-3.0: Enable preallocation for rx buffer pool
Nbuf allocation failure is observed when refill rx buffers
due to momentary low memory.
To fix this, enable feature Rx prealloc buffer pool.

Change-Id: I111d84f3ad5b33024e6add4bed7561ae58e1a018
CRs-Fixed: 2841734
2020-12-23 23:12:09 -08:00
snandini
210a6d4eda Release 2.0.8.6U
Release 2.0.8.6U

Change-Id: I9b42580db71e57a6e62f9aea9114568ab318a659
CRs-Fixed: 774533
2020-12-23 01:22:43 -08:00
Srinivas Dasari
60f0602014 qcacld-3.0: Send assoc reject upon failing to post ASSOC_IND
Currently, lim silently drops the association if it fails to
post ASSOC_IND due to some reason(e.g. invalid contents of
assoc request) and the MLM state is stuck in
eLIM_MLM_WT_ASSOC_CNF_STATE. Station context is not cleaned up
till the next association. Gracefully cleanup the association
in such failure cases.

Change-Id: Iede43a1ddc4ac6ef300af02776b153b58dd70c2c
CRs-Fixed: 2810235
2020-12-23 01:22:43 -08:00
snandini
a83c9298a4 Release 2.0.8.6T
Release 2.0.8.6T

Change-Id: I72d269daa49fe37b7510c7aff0b3bafd5c28e289
CRs-Fixed: 774533
2020-12-22 23:18:03 -08:00
Bapiraju Alla
17e749ce8b qcacld-3.0: During WiFi turn on get hdd_ctx after driver load
Currently while turning on WiFi, driver is getting hdd_ctx first and
then waiting for driver load to complete. This may lead to use after
free access if there is a probe fail during the driver load.

To avoid this, get hdd_ctx after driver load is complete.

Change-Id: I90132a3cf8eb8047d0854f781dbe968bccef94cf
CRs-Fixed: 2839442
2020-12-22 20:18:50 -08:00
snandini
d05f3b2426 Release 2.0.8.6S
Release 2.0.8.6S

Change-Id: I13af9d0ecfaad4a78011d76a1186bf5ef5b3216f
CRs-Fixed: 774533
2020-12-22 15:03:33 -08:00
Tushnim Bhattacharyya
4c5948f09c qcacld-3.0: Release resource after TDLS cmd processing
It doesn't free resources in failed cases like getting vdev or tdls
vdev object when handling tdls commands. This causes reference
count of psoc leak or memory leak. Following are the functions,

tdls_set_responder
tdls_notify_sta_connect
tdls_notify_sta_disconnect
tdls_set_operation_mode
tdls_reset_all_peers

Change-Id: I8b5d5fa8a137a1b07f0fa6e4667047db95d7b99e
CRs-Fixed: 2839099
2020-12-22 15:03:33 -08:00
snandini
98cd4691bb Release 2.0.8.6R
Release 2.0.8.6R

Change-Id: Ie76f4eb5bf98dc4c26253c13328af972877004a9
CRs-Fixed: 774533
2020-12-21 21:13:05 -08:00
Jianmin Zhu
65c9901651 qcacld-3.0: Fix treating channel id as frequency issue for SAP
There are CSA IE/beacon template cmd with duplicate IE COUNT: 10.
And interval of 2nd IE COUNT: 10 and IE COUNT: 9 is much less than
100 ms.
Radar is triggered,  tried to switch to channel 11, but set
target chan id 11 as frequency 11 wrongly,   frequency 11 is illegal
and disabled, then switch to new freq: 2412 again.

Change-Id: Id2e5823795ae2f61e6d7cbbbc91c4f485ddeceb3
CRs-Fixed: 2838113
2020-12-21 21:13:05 -08:00
Utkarsh Bhatnagar
f41c55e708 qcacld-3.0: Don't use proto_generic_nss for SAP
Taking minimun of proto generic nss and dynamic
nss is only valid for STA as proto generic nss
is minimum of self capability and peer AP
capability. So, while fetching nss for SAP,
it is returning as 0.
So, in case of SAP don't take minimum of proto
generic nss with dynamic nss in case of SAP.

Change-Id: I82fabd346da11087d6c6a2123faa52f0a55adf35
CRs-Fixed: 2836723
2020-12-21 21:13:00 -08:00
snandini
fed497f66d Release 2.0.8.6Q
Release 2.0.8.6Q

Change-Id: Id980d78040a1d75a598c45147041d2a787742082
CRs-Fixed: 774533
2020-12-21 06:53:54 -08:00
Mohammed Siddiq
f3ed071fad qcacld-3.0: Update the ICNSS2 flags based on CONFIG_LITHIUM
Update the ICNSS2 flags based on CONFIG_LITHIUM and
device specific flag for Yupik spf.

Change-Id: I579bcd5a2a543d652fc91bc006247a607bd907b2
2020-12-21 06:53:54 -08:00
snandini
bb42c129cf Release 2.0.8.6P
Release 2.0.8.6P

Change-Id: Iff91ae1db44c91ecce82f6e5d2d7fcacebd7b692
CRs-Fixed: 774533
2020-12-21 00:17:47 -08:00
Bapiraju Alla
b537de9650 qcacld-3.0: Flush previous cac work before starting a new pre cac
Currently, previous pre_cac work is not being flushed before starting
a new pre_cac work. This may result in use after free access if a
new pre_cac request comes when cleanup in progress for previous
pre_cac work.

To avoid this, flush existing pre_cac work before handling a new
pre_cac request.

Change-Id: I2da535acce8b4a097214597bbc2169ca5521db57
CRs-Fixed: 2841644
2020-12-21 00:17:46 -08:00
sheenam monga
1dca6a7813 qcacld-3.0: Don't consider previous rate flags after vdev restart
Currently rate flags are fetched from adapter before updating new
rate flags. Due to OR condition previous rate flags may not
overwrite and may provide different bandwidth and rate based than
actual params.

Fix is not to consider previous rate flags while updating new rates.

Change-Id: Ic6123858b0560141d1a8f3d366c3c5be95fd2fc9
CRs-Fixed: 2830204
2020-12-21 00:17:42 -08:00
Saket Jha
d912e80971 qcacld-3.0: Request fw stats for monitor mode
Periodically request pdev stats from FW to receive channel noise floor
information after monitor vdev has been brought up, based on the band
currently being sniffed. Use the band information as a secondary parameter
when sending periodic request to fw so a single noise floor value is sent
to host. Pass this noise floor information to dp_pdev to be populated in
radiotap header.

Change-Id: I488e4985392cb646ffdee914359fa995dbeb025e
CRs-Fixed: 2833458
2020-12-21 00:17:38 -08:00
snandini
f96bea21fd Release 2.0.8.6O
Release 2.0.8.6O

Change-Id: I71747d22c7bfc12b7421ce4a4dce776a2e9c76cb
CRs-Fixed: 774533
2020-12-20 20:42:03 -08:00
Jianmin Zhu
25fab73212 qcacld-3.0: Fix limiting BA window size 64 for NAN connection
For NAN connection, mlmStaContext.he_capable in sta_ds isn't filled in
lim_add_ndi_peer, can use lim_is_session_he_capable for BA window size.

Change-Id: I66a4611da164789bcbaadebf33ab3082bf6835b9
CRs-Fixed: 2829593
2020-12-20 20:42:03 -08:00
snandini
b8921ceebe Release 2.0.8.6N
Release 2.0.8.6N

Change-Id: I3d2b5ed12d4c8b1d20d0714ac752753f6e1493a5
CRs-Fixed: 774533
2020-12-18 14:47:49 -08:00
Sachin Ahuja
9d7aa9bb8c qcacld-3.0: Prevent race between suspend and idle shutdown
Idle shutdown is running in Thread 1 and in parallel suspend
request comes which is getting executed in thread 2. As a part
of idle shutdown the CE buffers are freed.As a result of this
WoW Ack is not reaped which leads to panic.

To avoid this issue, flush the idle shutdown delayed work before
proceeding for suspend.

CRs-Fixed: 2839296
Change-Id: I449bb1960776bf3d60e329a189b7bad998929240
2020-12-18 23:35:45 +05:30