Commit Graph

196 Commits

Author SHA1 Message Date
Vijay Raj
4a8ee774c7 qcacld-3.0: Fix NSS update during TDLS setup
Fix NSS update during TDLS setup, by calling HDD API.

Change-Id: I0a27fca151f72f64460bd7cbca8d803ade81bd10
CRs-Fixed: 3796099
2024-05-03 01:34:17 -07:00
Vijay Raj
ebd1aaceda qcacld-3.0: Override NSS with the HW NSS capability during TDLS setup
Add support override the NSS capability with HW NSS capability
during TDLS setup.

Change-Id: I916193969d5aafe042ee1bea2adc29668c9109ee
CRs-Fixed: 3792456
2024-05-02 01:09:59 -07:00
Vijay Raj
847c26d19d qcacld-3.0: Avoid NSS and Antenna mode change during TDLS connection
In the api hdd_set_nss_params() and hdd_set_antenna_mode()
change in nss parameter or antenna mode cause the TDLS
teardown.

Add a check in api hdd_set_nss_params() and
hdd_set_antenna_mode() to prevent change in parameter
if there is a existing TDLS connection.

Change-Id: I8a58b8b0a617a8de490907e4c3181b15d90e0dbb
CRs-Fixed: 3789892
2024-04-25 10:10:56 -07:00
Pragaspathi Thilagaraj
fbda9a4e96 qcacld-3.0: Reject TDLS when ML STA links are on MCC
When ML STA links are on MCC, TDLS action frames try to
set the link mode to force active. To avoid this
reject the TDLS mgmt request when ML STA links are on MCC.

Also enhance few debug prints for TDLS.

CRs-Fixed: 3717831
Change-Id: I69a942d80f5fac0ff25cfb47229e5dde6a693f97
2024-04-07 06:51:28 -07:00
Pragaspathi Thilagaraj
d1e3e92c23 qcacld-3.0: Don't increment discovery attempt for TDLS vdev
For MLO vdev currently the discovery attempts threshold is
multiplied by 2 to increase the discovery window thereby
increasing the discovery probability in noisy environmental
conditions. But 5 discovery attempts on each link is
sufficient threshold. Increased discovery attempts causes TP
issues with peer connected to different AP for MLO vdev since
frequent link active/inactive change happens.

So remove the discovery attempt multiplier for MLO TDLS vdev.
Enhance few debug logs.

CRs-Fixed: 3702198
Change-Id: If5513987447296140788c1ee021329dc721df65f
2024-03-28 09:31:40 -07:00
Pragaspathi Thilagaraj
1b03ebf40c qcacld-3.0: Release TDLS wakelock upon peer teardown
Currently TDLS module acquires WIFI_POWER_EVENT_WAKELOCK_TDLS
wakelock and prevents run time suspend when TDLS is enabled for
a peer. While releasing the wakelock and allowing suspend, it
checks for the connected peer count in tdls_update_pmo_status().
But the peer count is not decremented here yet.

Below is the current call sequence:
tdls_disable_offchan_and_teardown_links()
	-> 1. Call tdls_reset_peer() -> this calls
	      tdls_set_peer_link_status() ->
	      tdls_update_pmo_status()
	-> 2. tdls_decrement_peer_count() - Sets the
	      connected peer count to 0

Update the sequence as below:
call tdls_decrement_peer_count() first and then call
tdls_reset_peer().

CRs-Fixed: 3735021
Change-Id: Idf91a0c96c9660df466143f8ac115f694b3070d2
2024-03-20 15:06:17 -07:00
Aditya Kodukula
949885e505 qcacld-3.0: Add support for size 1 flexible length arrays
Convert size 1 variable length arrays to flexible
length arrays.

Change-Id: I348d479c94a27f4cecc02c8fc9fa98cfb9572baa
CRs-Fixed: 3690224
2024-03-11 21:18:49 -07:00
Pragaspathi Thilagaraj
0c0e67e9bb qcacld-3.0: Enable TDLS on both MLO links upon conc sta disconnect
When ML STA + Legacy STA concurrency is present, TDLS is disabled
on all the vdevs. If legacy STA gets disconnected, the TDLS
enable is done on only one MLO vdev, and on MLO link vdev TDLS
state is disabled. But TDLS peer set param commands are going
to firmware. This results in firmware abnormal behavior.

Enable TDLS on assoc & link vdev for ML STA case when concurrent
STA disconnects.

CRs-Fixed: 3685766
Change-Id: I36b839dd610e85d38081a985ceb68d8fad8879c5
2024-01-02 04:18:52 -08:00
Pragaspathi Thilagaraj
fd744a4b58 qcacld-3.0: Stop TDLS peer timers upon STA disconnection
TDLS peer_update_timer and peer discovery timers are not stopped
upon sta disconnect.
So while the handler is invoked upon timer expiry, the
vdev could have been already deleted. This could result in
null pointer dereference of vdev while trying to get
TDLS vdev objects.

Since the timer is not required upon sta disconnection and
peer will already be deleted, stop the timer upon STA
disconnection itself, instead of doing it during vdev
destroy.

Change-Id: I3c405b3e7b57d25a7d1afbf6c93476271a29a6b8
CRs-Fixed: 3673078
2023-12-26 22:10:03 -08:00
Pragaspathi Thilagaraj
3d6edc5fb8 qcacld-3.0: Increment TDLS discovery attempts after tx completion
TDLS peer discovery count is incremented every time after
TDLS discovery frame is queued for the peer till max attempts
are reached. But sometimes due to host or firmware scan the
frames could get flushed and still the discovery attempts
counter is incremented resulting in reduced possibility of
discovering the peer.

So increment TDLS discovery attempts after successful
tx completion of the TDLS discovery frames.

CRs-Fixed: 3647289
Change-Id: I7e3fe1973b34276ed5ea20a7114f3635ed59c6ef
2023-11-29 08:07:31 -08:00
Liangwei Dong
086f4ba111 qcacld-3.0: Reset connection tracker for tdls
Reset tdls_vdev->ct_peer_table connection tracker table
when enable implicit tdls triggering. There may be
some old tracker existing in the table. The stale data
can't be used in new tracing period.

Change-Id: I36c0c525c98eac4d1e6beed3a9006e717aee0d91
CRs-Fixed: 3653707
2023-11-10 14:36:02 -08:00
Liangwei Dong
afa0635590 qcacld-3.0: Avoid duplicated force link command for TDLS
At present, the tdls_handle_link_unforce may be invoked multiple
times even though the link is unforced previously. That causes
sending set link command unnecessarily.
Fix by checking the current link force state to avoid setting link
again.

Change-Id: I1e75fb713b17e6efd8143ebbc5ce59aed0409061
CRs-Fixed: 3640207
2023-10-18 04:21:35 -07:00
Pragaspathi Thilagaraj
0f95a0d1a3 qcacld-3.0: Update TDLS current mode only for TDLS enabled vdev
When scan is complete, tdls notifier tries to update the
tdls_current_mode for all available TDLS & P2P vdev. This causes
the TDLS current mode to enabled wrongly and further add peer gets
honored for P2P Client vdev in STA + P2P client concurrency.

So avoid changing current mode for P2P cli when STA vdev is
present.

Also add check for P2P CLI mode in tdls_check_is_tdls_allowed()
to avoid tdls commands going on P2P client vdev.

Change-Id: I681de9781a4892e307681da5699ca7b30f8f9651
CRs-Fixed: 3626695
2023-10-12 22:19:01 -07:00
Paul Zhang
59d68775f9 qcacld-3.0: Set unforce mode for link
TDLS for MLO, it forces link active when sending TDLS discovery
Request, it needs to unforce the link when:
There is no discovery response on that link; or
The remain links except the link which is TDLS link; or
The link for TDLS but no more TDLS connection.

CRs-Fixed: 3623332
Change-Id: Ie9fb0d210952531744bba397c1a34f4d8f1f14fb
2023-09-29 16:29:04 -07:00
Paul Zhang
a0d8aeb57b qcacld-3.0: Receive all expected response frame
Currently, it uses timer count to check whether the expected TDLS
discovery response frames received or not. But sometimes, the
discovery response frame comes back before the timer count increased.
The frame pattern like this:
	Send tdls discovery request on link0
	Receive tdls discovery request on link0
	Send tlds discovery request on link1
	Receive tdls discovery request on link1
In this scenario, driver forwards two different discovery responses
frame to supplicant and causes supplicant confusion.

To resolve this issue, check whether the expected discovery response
frames received or not. If not, let the timer to monitor the situation
instead of stop the timer and forward current discovery response
frame to supplicant.

CRs-Fixed: 3624866
Change-Id: I47ee729ed4c426eda232c704fc99f681b9db2fa4
2023-09-29 11:23:06 -07:00
Paul Zhang
efb48cb5c3 qcacld-3.0: Set peer link status properly
Since peer link status bases on vdev and stream goes through
vdev0 (assoc link) at start, rx/tx pkt count on vdev0, but
it choices vdev1 as tdls link, the peer status does not change on
vdev1 though it has been changed for vdev0 per the rx/tx pkt count.

To resolve this issue, set peer link status properly when forward
discovery response frame.

CRs-Fixed: 3590371
Change-Id: Idfb0b8c43e3b8d5b67a387ba3b877def15130eb6
2023-08-28 21:12:02 -07:00
Paul Zhang
ee98b703d8 qcacld-3.0: Race issue when link switch happens
For N-link, TDLS sends discovery request on different links
and starts timer to receive discovery response. There is one
race issue: if link switch happens before the timer stopped,
the timer count is reset because disconnection happens.

To resolve this issue, return if timer count is reset in
timer callback.

Change-Id: I7603de507f59dd988d70daad52fd4f4a2aa48d51
CRs-Fixed: 3586393
2023-08-11 22:45:09 -07:00
Pragaspathi Thilagaraj
24a4afc38a qcacld-3.0: Fix invalid DFS channel check for TDLS off-channel
While populating peer channel list to firmware, the channel
is checked if the state is CHANNEL_STATE_DFS. But for indoor
channels also this state CHANNEL_STATE_DFS is set. So the
indoor channels are removed from tdls peer supported channels
in tdls_extract_peer_state_param().

Use wlan_reg_is_dfs_for_freq() API to check if the given peer
frequency is DFS or not.

Change-Id: Ia16e55f8d00ba2686187a2b08c67a1e4a63a3d4d
CRs-Fixed: 3565520
2023-07-28 15:36:36 -07:00
Deeksha Gupta
bbece0a981 qcacld-3.0: Add support to Dynamic TDLS enable
Add support to dynamic enabling the TDLS.

Vendor subcmd: QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE

Change-Id: I3b9164ba04a4d9c23d7f580020966c222f8bd359
CRs-Fixed: 3562148
2023-07-27 22:24:09 -07:00
Deeksha Gupta
167488b437 qcacld-3.0: Add support to send TDLS avail and no. connected peer
Add support to send whether currently TDLS is available or not.

Vendor subcmd: QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
Vendor attr: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AVAILABLE

Also add support to get the TDLS number of active sessions
using below vendor attr.

Vendor subcmd: QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
Vendor attr: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_NUM_SESSIONS

Change-Id: Ie9ad09de9593559c4d57599a9af58a95af99e60f
CRs-Fixed: 3554429
2023-07-27 22:23:58 -07:00
Paul Zhang
3e9f7d3d0e qcacld-3.0: Stop TDLS peer_discovery_timer
For MLO TDLS, the discovery request frame is sent on
different links and peer_discovery_timer is started to
receive the discovery response frames from different
links.

One race condition is: the timer is running and then
vdev destroy happens. Then the timer callback could not
get the right pointer when timer is triggered.

To resolve this issue, stop the timer in the function
tdls_vdev_obj_destroy_notification.

Change-Id: I0b7aff14a599229cb5848b0b7eb9d2af53e6ad94
CRs-Fixed: 3554466
2023-07-12 19:03:08 -07:00
Ashish Kumar Dhanotiya
749fd3fe37 qcacld-3.0: Update policy mgr device mode conversion API
Currently policy mgr api policy_mgr_convert_device_mode_to_qdf_type
accepts only QDF_OPMODE as an argument and converts it to
policy_mgr_con_mode. Also, name of this api does not reflect
the task this is doing.
With the new SAP mode for low latency low throughput SAP,
to convert the QDF_OPMODE to policy_mgr_con_mode, host driver
needs to know if it is ll_lt_sap or normal sap. To get this
information, update policy_mgr_convert_device_mode_to_qdf_type
api to accept the psoc and vdev id as parameters. Also, rename
this api to reflect the task this api is doing.

Change-Id: Idcf1321038ba4852d2aa3d8157b558423a738765
CRs-Fixed: 3524247
2023-07-08 11:10:28 -07:00
Paul Zhang
472d30e365 qcacld-3.0: Revert "Tune TDLS code for discovery response"
The issue has been addressed in the supplicant.
So revert change: I89b501fc4da8615ddb8973e5edce73294793558f

Change-Id: I02b74a512c97803c597942c1ea00e3a02fbf4599
CRs-Fixed: 3544617
2023-06-30 23:48:33 -07:00
Paul Zhang
ac2beaa8f5 qcacld-3.0: Remove TDLS 11be MLO CAP checking
TDLS off channel will be supported by FR 80104, so remove the
checking when setting flag ENA_TDLS_OFFCHAN.

Change-Id: Iae135e835bd74e32a3f712083263192ae7cb635f
CRs-Fixed: 3545087
2023-06-30 20:28:18 -07:00
Alan Chen
baf6433a8f qcacld-3.0: Add additional bazel-related changes
Add additional bazel-related changes to resolve build errors.

Change-Id: I891556a81d217fded38915293aeea83a389d6782
CRs-Fixed: 3517415
2023-06-21 16:53:13 -07:00
Paul Zhang
69dc57263c qcacld-3.0: Tune TDLS code for discovery response
Currently, TDLS code sends setup request and then forwards
TDLS discovery response frame. For MLO case, since supplicant
gets the link id from the link identifier element of discovery
response frame, there is issue when supplicant tries to add
new station because link id has not been properly set.

To resolve this issue, tune the TDLS code to forward the TDLS
discovery response frame first and then send setup request event.

Change-Id: I89b501fc4da8615ddb8973e5edce73294793558f
CRs-Fixed: 3528071
2023-06-15 16:30:58 -07:00
Paul Zhang
3050ccd014 qcacld-3.0: Create API for TDLS configure link id
Create API to set link id and used in
wlan_hdd_cfg80211_tdls_mgmt function for MLO TDLS.

Change-Id: I39814db1646362585cb9c3258d7e71c3cabe4204
CRs-Fixed: 3491950
2023-06-12 16:25:39 -07:00
Pragaspathi Thilagaraj
a598c36737 qcacld-3.0: Cleanup redundant error logs
Change few repeating error logs to debug level.

Change-Id: Ie64d4a99e70dae6dd9548bfa90914075c73feb77
CRs-Fixed: 3509900
2023-06-11 14:18:11 -07:00
Aditya Kodukula
744adf0e1c qcacld-3.0: Fix typos in cld
Fix typos spanned over multiple files in cld.

Change-Id: I88def5a2898c9e3e5cf32d123521faa53ef42e70
CRs-Fixed: 3521886
2023-06-07 13:58:12 -07:00
Pragaspathi Thilagaraj
116e201f3e qcacld-3.0: Fix null pointer dereference in tdls_set_ct_mode
Fix null pointer dereference of tlds_soc_obj if
tdls_get_vdev_objects() returns failure.

Change-Id: Ibd6e38b834d7182b240a9bfaf176dbf47b32b1b7
CRs-Fixed: 3491244
2023-06-01 21:12:20 -07:00
sandhu
d03f075f36 qcacld-3.0: Remove tdls set state cnt
Remove tdls set state cnt check before sending
fw tdls state update. Fw state updates could be for
multiple vdev's set state cnt check works for only
single vdev.

Change-Id: Id154e623a03e65a99f27360c33b261209ac2e754
CRs-Fixed: 3483291
2023-05-20 10:48:48 -07:00
Pragaspathi Thilagaraj
58b0a2bb4a qcacld-3.0: Fix invalid vdev validation in tdls teardown
Fix invalid vdev validation in wlan_tdls_teardown_links_sync()
api.

Change-Id: Ie47797a6fdc1ba9851c6d39f7cdc699afb22b208
CRs-Fixed: 3472182
2023-04-19 22:11:54 -07:00
Pragaspathi Thilagaraj
7a71e4211e qcacld-3.0: Cleanup few redundant tgt TDLS API
Cleanup redundant TDLS tgt wrapper API's

Change-Id: I8c9bbbdbbdcb26af096038998bc32499dfee7ebb
CRs-Fixed: 3469210
2023-04-19 10:36:20 -07:00
Pragaspathi Thilagaraj
9e24d820d4 qcacld-3.0: Handle STA + TDLS + P2P CLI concurrencies
When P2P CLI is connected first and then STA is connected,
disable TDLS on existing interface and enable TDLS on the STA
vdev.

When existing STA + TDLS exists, disable off channel when P2P
connection is started and re-enable off channel for TDLS once
connection is complete. Don't teardown TDLS peers once the
P2P client connection is successful.

Change-Id: I91d152a3a052706289c06cebc932c84a69fdbc00
CRs-Fixed: 3455639
2023-04-15 04:39:35 -07:00
Pragaspathi Thilagaraj
f8ac9322f3 qcacld-3.0: Add debugs for TDLS concurrencies
Add more debugs for TDLS concurrency scenarios.
Enable WLAN_FEATURE_TDLS_CONCURRENCIES.

Change-Id: Iad2d96d0bbf6a8f5e488ea5da2d666a55d9b5aba
CRs-Fixed: 3461776
2023-04-15 02:57:13 -07:00
Pragaspathi Thilagaraj
b96ea38606 qcacld-3.0: Cleanup tdls_disable_in_progress condition checks
tdls_disable_in_progress checks are always false since the
tdls_disable_in_progress is never set to true.
So cleanup the condition checks that use the
tdls_disable_in_progress variable.

Change-Id: I8a5f868c09919fc5835b9f8f7f30a32d59dab74a
CRs-Fixed: 3445123
2023-04-14 01:53:42 -07:00
Pragaspathi Thilagaraj
01e7881521 qcacld-3.0: Propagate proper TDLS AP capabilities during enable
TDLS AP capabilities are stored in MLME, but is not used while
sending WMI_TDLS_SET_STATE_CMDID to firmware, instead false is
passed without passing the actual AP capabilities. This could
cause TDLS getting enabling when AP doesn't allow TDLS.

Cleanup few API and remove ap_cap structure in TDLS vdev private
object

Change-Id: I43c140d58e8777da3acf748f08f5d9915fd91bf4
CRs-Fixed: 3449324
2023-04-12 16:37:33 -07:00
Pragaspathi Thilagaraj
282f018e47 qcacld-3.0: Handle TDLS concurrency during CSA
If CSA on SAP/P2P GO causes MCC with the current STA TDLS vdev,
then teardown the TDLS connections, disable off channel and send
disable TDLS to firmware.
If CSA causes MCC -> DBS or MCC -> SCC then allow TDLS and update
the peer off channel list to firmware
Disable TDLS off-channel before SAP/P2P GO vdev restart.
Once CSA is complete, TDLS off-channel will be re-enabled based
on the concurrency.

Add interface manager changes to notify STA channel switch.

Change-Id: I36b359a7e1cf570cfb2b2f0e6abedf148a8fd174
CRs-Fixed: 3445112
2023-04-12 12:53:47 -07:00
Paul Zhang
0752365a21 qcacld-3.0: Add logic to support tdls on MLO
Since for MLD device, it can only choice one link for tdls,
add logic like this:
1\ As initiator, it needs to send discovery request on each
link, before send the frame, it needs to force active the link;
2\ As responder, it sends the discovery response the link id,
before send the frame, it needs to force active the link;
3\ For other tdls management and tdls operation, it needs to
find out which link(vdev) is used as tdls link first.

Change-Id: I64e27219eb6c6b3fef62e541423aa8e5d84b1560
CRs-Fixed: 3439568
2023-04-12 01:32:45 -07:00
Paul Zhang
046e755835 qcacld-3.0: Handle TDLS discovery response logic
For MLD case, it may receive two discovery response frames if
peer is MLD device. In this case, it needs to check the response
frame and make a decision about which vdev is used for TDLS
vdev.

Change-Id: I3d7c3343aef2d6843b362fca191caef8b982d3f8
CRs-Fixed: 3439577
2023-04-10 17:08:19 -07:00
Paul Zhang
5f512ff2ec qcacld-3.0: Set eht_capable accordingly for TDLS
Set parameter add_sta_params->eht_capable accordingly whether
the peer STA support it or not.

Change-Id: Ib3664be74ece59804321e187fea889610c0a2a86
CRs-Fixed: 3454661
2023-04-10 17:08:13 -07:00
Paul Zhang
44804ad746 qcacld-3.0: Update num tdls vdevs to 2 if fw 11be capab
Update tdls vdevs to 2 if fw 11be capable. Add
WMI_SERVICE_11BE_TDLS_SUPPORT update num tdls vdevs
to 2 for firmware while init_cmd_send_tlv.

Change-Id: I12cced5718cb189ce1f96d204ac64108ccef5ca3
CRs-Fixed: 3436013
2023-04-09 20:15:43 -07:00
Paul Zhang
a15b2c8b52 qcacld-3.0: Add api policy_mgr_get_connection_count_with_mlo()
Since for MLO there may be several link connections, for TDLS
using api policy_mgr_get_connection_count_with_mlo() to replace
with policy_mgr_get_connection_count() to follow the original
logic.

Change-Id: Ic13c89f2e834196c01ca6966329cbd0d1552f292
CRs-Fixed: 3436049
2023-04-05 20:40:52 -07:00
Paul Zhang
75bb0abb6a qcacld-3.0: Add new api in tdls module
Add new api for tdls mld feature:
ucfg_tdls_get_mlo_vdev
ucfg_tdls_release_mlo_vdev
ucfg_tdls_discovery_on_going

Change-Id: I874fd5ef1af94a9e576ba6738a12b7e2af891537
CRs-Fixed: 3439345
2023-04-04 14:40:37 -07:00
Pragaspathi Thilagaraj
c2976a7b2d qcacld-3.0: Handle SAP + TDLS concurrencies
Disable TDLS offchannel on SAP start if concurrent STA with
TDLS exist.
Enable TDLS off channel after SAP start if SAP and
STA are not in MCC.

If TDLS is enabled, and off channel is required, update
TDLS off channel to be the SAP channel.

Change-Id: Ica508889acbae5e2dc4269d4d7518cf01d62714f
CRs-Fixed: 3444747
2023-03-28 04:34:46 -07:00
Pragaspathi Thilagaraj
37a1c90ea3 qcacld-3.0: Add initial checks for TDLS concurrencies
Check if TDLS is allowed for the current existing concurrency
combination. In below combinations, TDLS is not allowed:
1. MCC on STA vdev
2. STA + STA
3. Total connection count > 3
4. No STA vdev exists

If existing TDLS connection exists when 4th port is coming up,
then teardown the TDLS connection and disable off channel.

Change-Id: Iabe174bedecfa6147bd9de3cb2a3716b63145456
CRs-Fixed: 3435864
2023-03-27 01:47:16 -07:00
Pragaspathi Thilagaraj
06be2cbc56 qcacld-3.0: Add support to disable TDLS offchannel completely
Add support for new TDLS off-channel mode type:
DISABLE_ACTIVE_CHANSWITCH. With this
off channel mode, the TDLS off-channel will be disabled
completely without passive disable mode.
DISABLE_CHANSWITCH -> Passive channel switch can be done i.e if
peer requests channel switch then firmware can do channel switch
DISABLE_ACTIVE_CHANSWITCH -> Disable all off-channel switches.

Add support to send peer channel lists based on concurrency
combination. Override the ini configured frequency to the
supported frequency based on the current concurrency.

Change-Id: Ie3210178eb8b57d6ab126a730ed91895b70edaa1
CRs-Fixed: 3416213
2023-03-21 11:50:51 -07:00
Pragaspathi Thilagaraj
fbf0ea73d5 qcacld-3.0: Don't allow TDLS on MLO vdev
TDLS is not supported on ML STA but it gets enabled
currently when connected with ML AP and TDLS discovery request
is sent to peer devices.

So don't allow TDLS on MLO vdev.

Change-Id: I5bb9e03a0be3f3249aa7af664666a53a67ee812d
CRs-Fixed: 3416206
2023-03-09 23:26:11 -08:00
Surabhi Vishnoi
b8adb54ef5 qcacld-3.0: Send TDLS notify sta disconnect on roam
Currently, TDLS STA disconnect notification is not sent during
roam, so WMI_TDLS_SET_STATE_CMDID with disable command is not sent
to firmware. This leads to unexpected behavior in firmware when STA
have migrated to different mac based on new band (2 GHz to 5/6 GHz or
vice-versa) due to roaming, but TDLS STA remain on previous mac.
Firmware expects host to send WMI_TDLS_SET_STATE_CMDID on roam also
so that it can destroy and create new TDLS STA instance and map TDLS
STA to new mac.

To fix above issue, send WMI_TDLS_SET_STATE_CMDID with disable TDLS
state to firmware after driver receives roam sync indication which
leads to destruction of TDLS STA instance in firmware.
Host driver would later send WMI_TDLS_SET_STATE_CMDID with enable TDLS
state(not part of this commit) after successful STA roaming so that
firmware maps TDLS STA with new mac.

This change also removes unused ucfg_tdls_notify_sta_connect() and
ucfg_tdls_notify_sta_disconnect() APIs.

Change-Id: Id680d0f6193740b24e78115ac7dc7be26e28acff
CRs-Fixed: 3388507
2023-02-16 18:19:28 -08:00
Jeff Johnson
ac73d2ec1d qcacld-3.0: Fix TDLS Documentation
The kernel-doc script identified a multitude of documentation issues
in components/tdls, so fix them.

Change-Id: I365496d70e903bae1abad7b807687904f7f15af7
CRs-Fixed: 3360666
2022-12-29 18:33:36 -08:00