Commit Graph

16811 Commits

Author SHA1 Message Date
Abhinav Kumar
364c0cb339 qcacld-3.0: Dont process SYNC IND if ROAM STOP cmd already posted to WMA
Currently, HOST sets discon_in_progress flag after posting
ROAM_SCAN_OFFLOAD_STOP command to WMA for a session. In case of
disconnection in HOST while roaming in FW if ROAM SYNC IND from fw comes
to host after posting ROAM_SCAN_OFFLOAD_STOP command to WMA, host start
processing SYNC IND and FW start processing ROAM_SCAN_OFFLOAD_STOP
which will cause to cleanup/disconnect with new AP to which it has just
roamed. After this cleanup fw will send HO_FAIL.

Now host as part of roam sync indication sends PEER_REORDER_QUEUE_SETUP
for the deleted peer which results in firmware assert.

Fix is to set discon_in_progress flag to true before posting
ROAM_SCAN_OFFLOAD_STOP command to WMA in order to ignore ROAM SYNC IND
and return status as failure to fw.

Change-Id: Id5c787d5489a6c0722b090951db388484f94f2e9
CRs-Fixed: 2505851
2019-08-26 06:35:42 -07:00
nshrivas
5fa71d2489 Release 5.2.0.145W
Release 5.2.0.145W

Change-Id: Id54ae1a1e0c7ea630902c4a0c16178af6aaf220e
CRs-Fixed: 774533
2019-08-26 02:22:33 -07:00
Ashish Kumar Dhanotiya
6176bef9d3 qcacld-3.0: Free cached channel list with restore channels
When driver receives the command to disable the channels
it maintains a list of the channels which are disabled.
During SAP stop, driver restores the disabled channels
but it is not freeing the cache list. Now when again the
command is issued to disable the channels, driver is not
processing this command as it still has the channels in its
cached list which were disabled during previous command.
This results into failure of current command and all the
subsequent commands to disable the channels until the
cache list is not cleared with set_disable_channel_list
command with empty channel list.

To address above issue, clear the cache channel list
as soon as driver restores the channels on stop bss.

Change-Id: I6b8c7ba250ef38b892ab83621add45fbfc09a2cd
CRs-fixed: 2496642
2019-08-26 02:22:32 -07:00
nshrivas
bf6258d77f Release 5.2.0.145V
Release 5.2.0.145V

Change-Id: I9a01ad9db6f9497ea9359599a74cdfd24fe9970d
CRs-Fixed: 774533
2019-08-26 00:26:46 -07:00
Ajit Pal Singh
407d6d84b8 qcacld-3.0: Deduct HTT credit from TXQ group also
In HL data path, when HTT credits are used outside the HL scheduler,
credits are getting deducted form target_tx credit only.
When CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL is enabled, credits
should be deducted from TXQ group also.

Change-Id: Ice4160043fc1d812686f8ce7ee310110299d2276
CRs-Fixed: 2485819
2019-08-26 00:26:46 -07:00
nshrivas
5d4daa69a4 Release 5.2.0.145U
Release 5.2.0.145U

Change-Id: I7664833f794310b2150e00ce63b963674cf60552
CRs-Fixed: 774533
2019-08-25 06:23:33 -07:00
gaurank kathpalia
5ffac61a8a qcacld-3.0: Copy the sap channel list to acs cfg chan list
Copy the sap channel list that is obtained after filtering
the channel list from all the checks like SRD, DFS
to maintain the sync between the ACS module, and the sap
channel select logic.

Change-Id: I78a835f700ab34fa81b9b748e6ad28ca3b726650
CRs-Fixed: 2513628
2019-08-25 00:46:07 -07:00
nshrivas
19aa021ae3 Release 5.2.0.145T
Release 5.2.0.145T

Change-Id: I050c065e16118e510542ace9ce6d3d6fcc15117c
CRs-Fixed: 774533
2019-08-23 16:36:22 -07:00
Kiran Kumar Lokere
25b3bf24b8 qcacld-3.0: Dont update WMA PMF capability per peer
WMA interface PMF capability is vdev configuration hence do not
update the capability in WMA interface based on peer capability.

Change-Id: I08b39b9bc631321aa77aa1ab3bcbf1841bb3dda1
CRs-Fixed: 2504060
2019-08-23 16:36:22 -07:00
nshrivas
6e86b5daea Release 5.2.0.145S
Release 5.2.0.145S

Change-Id: I61cc64e4fb7b61c6f4f4fb04b62b1b8ea3d8280b
CRs-Fixed: 774533
2019-08-23 14:49:49 -07:00
Srinivas Dasari
05bc2c2396 qcacld-3.0: Correct the order of arguments to roam_triggers_to_sme
Vdev_id and ENABLE_ROAM_TRIGGERS_ALL are passed to
hdd_send_roam_triggers_to_sme in reverse order. Pass them in
correct the order.

Change-Id: I79d2a843ee9f237620d31dbf91e3c57750e66e88
CRs-Fixed: 2514476
2019-08-23 14:49:48 -07:00
nshrivas
03b3ab3b5f Release 5.2.0.145R
Release 5.2.0.145R

Change-Id: Ia85f76438e25cb452e2dccc1d5b4dd3b1270695f
CRs-Fixed: 774533
2019-08-23 12:31:18 -07:00
Abhishek Singh
5606ee0fca qcacld-3.0: Use vdev cmd resp timer from vdev target if
As part of vdev target if convergence the new vdev command
resp time are defined in target if layer.

So use the vdev timer values from target if.

Change-Id: Ib74f91331e4cb470233e678ded9159e17045467e
CRs-fixed: 2513794
2019-08-23 12:31:17 -07:00
nshrivas
3f776ef5e9 Release 5.2.0.145Q
Release 5.2.0.145Q

Change-Id: I2da89c76c3e38dbc866108bb4d308f75df4b9e73
CRs-Fixed: 774533
2019-08-23 10:14:59 -07:00
Rakshith Suresh Patkar
30bb8c17ea qcacld-3.0: Ignore invalid flush work call in hdd_mic_flush_work
As per current implementation, hdd_mic_flush_work makes a call
to qdf_flush_work irrespective of whether the work is initialized
or not.

Since flush_work() without INIT_WORK() is erroneous, ignore the call
to flush_work if work is not initialized.

Change-Id: Ib96439e1416188e643935a4ddaa13671d221c1e2
CRs-Fixed: 2514424
2019-08-23 10:14:59 -07:00
nshrivas
269efd2d67 Release 5.2.0.145P
Release 5.2.0.145P

Change-Id: I1b52384fe7241393b0a5a2732d42dd221d15034a
CRs-Fixed: 774533
2019-08-23 08:21:43 -07:00
Bala Venkatesh
b184b77697 qcacld-3.0: Do not set the broadcast sta id to invalid
Currently, as part of ndi_delete broadcast sta id is set
to invalid. But set this sta id to invalid as part of
ndi delete response from FW.

Change-Id: I4df843c4bce1c06b5c62cfd932b681e3320e5341
CRs-Fixed: 2513607
2019-08-23 08:21:43 -07:00
nshrivas
faa3022c58 Release 5.2.0.145O
Release 5.2.0.145O

Change-Id: I931f8fda8c5f2388b4f048b766b4a261b69fb043
CRs-Fixed: 774533
2019-08-23 06:27:01 -07:00
Abhishek Singh
9a243e8054 qcacld-3.0: Remove unused set link states and functions
Set link state is not used now so remove unused set link states
and functions.

Change-Id: Idb1a40922b8a27a18864d7047983d456cc05bffa
CRs-fixed: 2514158
2019-08-23 06:27:01 -07:00
Nirav Shah
4474439d4c qcacld-3.0: Reset CAC state if another AP is not on 5GHz
In case of DBS, two AP can operate on different band together.
Current logic of resetting CAC state in sap_clear_global_dfs_param
function assumes that if two APs are up state then it must be SCC
scenario and resulting in dropping of tx packets if stop follwed by
start operation is performed on AP on DFS channel.

This change reset CAC state as part of stop AP if another AP is
operating on 2.4GHz in case of DBS operation.

Change-Id: I3f71606bf610d45184a0fa81d2b9d9a6c11f72e8
CRs-Fixed: 2509808
2019-08-23 06:26:56 -07:00
nshrivas
6fe161e272 Release 5.2.0.145N
Release 5.2.0.145N

Change-Id: Iabc65b47ceaa364d1358ad3259c7599dc8708c09
CRs-Fixed: 774533
2019-08-23 03:48:36 -07:00
Srinivas Dasari
ac5312a188 qcacld-3.0: Validate the size of each frequecy sub attribute
QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_LIST is a nested attribute which
carries frequencies as sub attributes. Validate the size of each
sub attribute to make sure it's of size uint32_t. Extract the
frequencies if all are of valid size. Return failure if an
invalid length attribute is found.

Change-Id: I1743c2dbef640b28b78504a548edbb70f4f29e49
CRs-Fixed: 2513822
2019-08-23 03:48:35 -07:00
bings
3d18e556d0 qcacld-3.0: Select dfs channel sap to handle radar event
If radar event is indicated in station vdev, it may be dropped by
station vdev since station does not support DFS master.

Select first sap vdev started in dfs channel to handle radar event.

Change-Id: I74229eb02c6ae6d81042df6b736d231db26253b5
CRs-Fixed: 2512836
2019-08-23 03:48:13 -07:00
nshrivas
b32ee5707a Release 5.2.0.145M
Release 5.2.0.145M

Change-Id: I1ec912f06b80819486e57361a97e612d809a45ed
CRs-Fixed: 774533
2019-08-23 01:43:14 -07:00
Srinivas Dasari
b5d9f3e106 qcacld-3.0: Send scan period received from vendor command to firmware
Scan period is configured through the DRIVER command
SETROAMSCANPERIOD currently. Add provision to set the same through
the roam subcmd and the attr QCA_ATTR_ROAM_CONTROL_SCAN_PERIOD

Change-Id: I3dd56f56ac8bc4ba48a88f8df292e9d4d5545fed
CRs-Fixed: 2509656
2019-08-23 01:43:13 -07:00
Nirav Shah
a7fa192dbd qcacld-3.0: Fix DHCP indication to FW feature for broadcast exchange
Use "client mac address" in bootp protocol to get
station id to handle scenarion when
DHCP exchanges(discover/offer/request/ack) happens
with broadcast address as destination address.

Change-Id: Ie233b2ffed1533f0a45fded199bb09649e48b4dd
CRs-Fixed: 2506023
2019-08-23 01:43:06 -07:00
Srinivas Dasari
a33fdd8376 qcacld-3.0: Send full roam scan period to userspace upon querying
Userspace may query for current configured full roam scan period
through the vendor cmd QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_GET
and the attribute QCA_ATTR_ROAM_CONTROL_FULL_SCAN_PERIOD.
Fill the full scan period in the same attribute and send as reply

Change-Id: I0ab8b3d7b469515244ce27accc852c6d93514b2d
CRs-Fixed: 2508804
2019-08-23 01:43:00 -07:00
Srinivas Dasari
9ad9e25ed6 qcacld-3.0: Send roam control status to userspace upon querying
Userspace may configure and enable roam control and query for
the status. Add provision to send the same as vendor cmd reply

Change-Id: I7b82f85fa560c974eedc5115276bd87a84f9d3a0
CRs-Fixed: 2508802
2019-08-23 01:42:55 -07:00
nshrivas
2454638d42 Release 5.2.0.145L
Release 5.2.0.145L

Change-Id: Ifede718438805bf44e7926ec7d6964bd6749ddc7
CRs-Fixed: 774533
2019-08-22 20:14:06 -07:00
Alan Chen
2239688fd3 qcacld-3.0: Remove NaN offloading option
Firmware only supports offloading in STA and P2P CLI mode, so remove
NaN offloading option.

Change-Id: I1adb8ead32a0d45a34f72590c33309b17d6c80c0
CRs-Fixed: 2512426
2019-08-22 20:14:05 -07:00
nshrivas
109938e4ea Release 5.2.0.145K
Release 5.2.0.145K

Change-Id: Id686a5d44389cb29d8b4b67d9470c935b7457f2b
CRs-Fixed: 774533
2019-08-22 16:21:40 -07:00
Alan Chen
91525f33ba qcacld-3.0: Move hif context assignment to right before its usage
When wifi is off, unnecessary error logs are printed. To avoid these logs
from printing, move hif context assignment to right before its usage.

Change-Id: Ie2313f796674885a7a518693a09877df4e6cb817
CRs-Fixed: 2513187
2019-08-22 16:21:40 -07:00
nshrivas
5be799467d Release 5.2.0.145J
Release 5.2.0.145J

Change-Id: If3d8795069e60fba2be1f9382ac5cf365f26dd79
CRs-Fixed: 774533
2019-08-22 12:35:10 -07:00
Abhishek Ambure
40972f18dd qcacld-3.0: Clean up set link code
Legacy code for set link is removed. Set link code is refactored.

Change-Id: I97c5fde76b8529d21c16c7650e32c91dffaae2f2
CRs-Fixed: 2513049
2019-08-22 12:35:09 -07:00
Abhinav Kumar
4f959589b8 qcacld-3.0: Convert channel to freq in tpAddBssParams structure
Topic: 6ghz_chan_to_freq

Convert channel to freq in tpAddBssParams and wma_vdev_start_req
structure to avoid duplicate channel numbers in 6ghz, and 2.4ghz
operation.

Change-Id: I8f657a566d1555efa07bf9155b84c37431c57f86
Crs-Fixed: 2511312
2019-08-22 12:34:54 -07:00
Srinivas Dasari
b6798ec303 qcacld-3.0: Restore the params upon roam control config disable
Userspace disables the roam control config once it's done with
the controlled roaming. Driver should restore the params changed
by roam control config enable and proceed with roaming as per
its default behavior.
Restore the below params which are getting modified as per
the current implementation,
1. Roam trigger bitmap
2. Scoring
3. Scan period
4. Full scan period

Change-Id: I1be699825bdd798f20a3432ebccb922ade67f89b
CRs-Fixed: 2508780
2019-08-22 12:34:47 -07:00
Srinivas Dasari
5fb8190eca qcacld-3.0: Enable/disable scoring based on vendor command
Userspace can disable/enable scoring for roam candidate
selection through roam subcmd and the attribute
QCA_ATTR_ROAM_CAND_SEL_CRITERIA_SCORE_ENABLE.

Firmware supports the below configurations currently,
1. Default selection criteria where all selection criteria
   are enabled and different weightages/scores are given to
   different criteria.
   This will be enabled when userspace doesn't specify any
   candidate selection criteria.
2. Legacy candidate selection criteria where scoring
   algorithm is disabled and only RSSI is considered for
   roam candidate selection.
   this will be enabled when userspace specify 100% weightage
   for RSSI.
Rest of the combinations are not supported for now.

Update the RSO config whenever scoring is enabled/disabled

Change-Id: Ibb787ef5433eebbdd3633748135ba6e314c931b6
CRs-Fixed: 2508778
2019-08-22 12:34:42 -07:00
Srinivas Dasari
391692d2da qcacld-3.0: Cache the status of roam control enable/disable in CSR
Userspace enables the roam control config and may query for it
later. In order to indicate the current status to userspace,
cache the same in struct sCsrNeighborRoamControlInfo

Change-Id: Ib535d6940df48305bda74a624604217d1f968861
CRs-Fixed: 2508777
2019-08-22 12:34:38 -07:00
Srinivas Dasari
f4e1b1208c qcacld-3.0: Send roam triggers from vendor cmd to firmware
Userspace can configure different roam triggers as defined
in qca_vendor_roam_triggers through the roam subcmd
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET and the
attribute QCA_ATTR_ROAM_CONTROL_TRIGGERS. Send the roam trigger
bitmap to firmware

Change-Id: I692110a2ae1ee5a35bb248b9138080a7dfb02cf6
CRs-Fixed: 2508776
2019-08-22 12:34:34 -07:00
Srinivas Dasari
0628e84a29 qcacld-3.0: Configure full scan period from vendor cmd to firmware
Userspace can update the full scan period through the roam subcmd
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET and the attribute
QCA_ATTR_ROAM_CONTROL_FULL_SCAN_PERIOD. Send the same to firmware
as part of roam scan offload command

Change-Id: I7c1046763d693faa3340b655848d3306ef92e06c
CRs-Fixed: 2508775
2019-08-22 12:34:29 -07:00
Abhishek Singh
0acd0c4df4 qcacld-3.0: Fill proper vdev id in add bss req bss_id
Add bss req bss_id vdev_id is not set to vdev id and thus if vdev start
fails, wma_remove_peer_on_add_bss_failure try to delete
peer from vdev id 0 instead of proper vdev_id.

Fix is to set proper vdev id to add bss req bss_id.

Change-Id: I9bbe7daf03fe2872d7026872e8dd7818840f9345
CRs-Fixed: 2513007
2019-08-22 12:34:25 -07:00
nshrivas
3b683d7c7e Release 5.2.0.145I
Release 5.2.0.145I

Change-Id: Ica7e9c15d8d7acf25ddc990fb184dce4ac342f84
CRs-Fixed: 774533
2019-08-22 08:45:36 -07:00
Srinivas Dasari
25d77b28e7 qcacld-3.0: Configure preferred freq list as dynamic chan list
Configure the preferred channel list received from vendor
roam subcmd command ROAMING_SUBCMD_CONTROL_SET as dynamic channel
list to firmware. Combine this channel list with the existing
occupied channel list and send to firmware. Flush this channel
list as part of csr_cleanup

Change-Id: Ibc45291f72844331096cb460257cab6f0b0095dc
CRs-Fixed: 2507159
2019-08-22 08:45:36 -07:00
Qun Zhang
3e96c89d1a qcacld-3.0: Update SAE frame session id to avoid using invalid id 0
In current SAE implementation, lim_process_sae_auth_frame() and
lim_process_sae_preauth_frame() all pass parameter session id 0
to lim_send_sme_mgmt_frame_ind(). In some test case, once vdev
id 0 is removed, hdd_indicate_mgmt_frame() can not get adapter
through vdev id 0, then SAE frame will not forward to supplicant.
Update SAE frame session id to make sure at least one adapter can
be found. Once adapter is available, __hdd_indicate_mgmt_frame()
can get the expected interface through destination mac address.

Change-Id: I3e8f430c4760448c6cc8dab9464979371de86118
CRs-Fixed: 2507342
2019-08-22 08:45:31 -07:00
Ashish Kumar Dhanotiya
cf3cf662ed qcacld-3.0: Free vdev from objmgr if vdev_create fails
When vdev create happens, objmgr creates vdev and stores
vdev_id into adapter, vdev_create message is posted to
scheduler thread and driver wait for the session_open_event
to be completed. Before this event completes if SSR
occures, session open event is forcefully set which leads
to the failure of vdev create. In current implementation
in case of force event set, driver returns without
destroying the vdev from objmgr which leads to vdev leak
in stop modules.

To resolve above issue, destroy vdev from objmgr in
case if vdev create fails.

Change-Id: Id0bbde0085d2b4d91b0590e3bb8a7798cd0ba0fa
CRs-fixed: 2505590
2019-08-22 08:45:27 -07:00
Wu Gao
efd73546c8 qcacld-3.0: Check peer phymode only if DUT is SAP/GO
Force set peer's phymode to the phymode of current interface if first
one big then second one, then TDLS link can't select more better
phymode when DUT support VHT mode and connect to 11A mode AP.

Change-Id: Idc72e04dcdf7ead3b52effc2c06862bc9dddd732
CRs-Fixed: 2512622
2019-08-22 08:45:22 -07:00
nshrivas
e2c0cd722c Release 5.2.0.145H
Release 5.2.0.145H

Change-Id: I94b65199261a92cf710fe89ecbb1e0f972755f50
CRs-Fixed: 774533
2019-08-22 07:31:12 -07:00
Vevek Venkatesan
e81bca8057 qcacld-3.0: cleanup IPA STA iface, if STA disconnect failed
If STA disconnect failed for any reason, cleanup IPA STA iface
if not already done.

Change-Id: I27ff33324bc4724e8470af9a0c434fa03e8aa5c3
CRs-Fixed: 2505563
2019-08-22 07:31:12 -07:00
nshrivas
6b5f63ea1d Release 5.2.0.145G
Release 5.2.0.145G

Change-Id: Ia201b376f29db6032aeb386757633b013a89fc85
CRs-Fixed: 774533
2019-08-22 04:23:50 -07:00
Vulupala Shashank Reddy
6d6f68d04b qcacld-3.0: Fix possible NULL pointer de-reference
Fix possible NULL pointer de-reference in functions
peer_unmap_timer_handler().

Change-Id: I2ec6af12b1f8232a247729fd658c2d51ff163405
CRs-Fixed: 2512610
2019-08-22 04:23:24 -07:00