The issue has been addressed in the supplicant.
So revert change: I89b501fc4da8615ddb8973e5edce73294793558f
Change-Id: I02b74a512c97803c597942c1ea00e3a02fbf4599
CRs-Fixed: 3544617
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
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
Create API to set link id and used in
wlan_hdd_cfg80211_tdls_mgmt function for MLO TDLS.
Change-Id: I39814db1646362585cb9c3258d7e71c3cabe4204
CRs-Fixed: 3491950
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
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
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
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
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
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
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
Set parameter add_sta_params->eht_capable accordingly whether
the peer STA support it or not.
Change-Id: Ib3664be74ece59804321e187fea889610c0a2a86
CRs-Fixed: 3454661
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
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
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
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
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
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
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
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
The kernel-doc script identified a multitude of documentation issues
in components/tdls, so fix them.
Change-Id: I365496d70e903bae1abad7b807687904f7f15af7
CRs-Fixed: 3360666
When component dependent functions calling from higher
modules or any other components, it uses ucfg APIs pattern.
Calling ucfg dependent APIs is acceptable for higher modules
like HDD, OSIF but for another components like DP to avoid
using ucfg APIs here, implementing component APIs for existing
ucfg APIs to other components like MLME, TDLS, Pkt capture in
DP component module.
Change-Id: Ib8857eeca6a88810d7875312ff6dc14ffb60bc70
CRs-Fixed: 3351486
Page fault reproted when all tdls peer list size exceed their max
size. So, add the change to avoid this issue.
Change-Id: I66b5f85c8cdc98491b33b2100a55f424d5531ca0
CRs-Fixed: 3321105
With FEATURE_WLAN_TDLS=n, compiler is throwing implicit
declaration error of function wlan_tdls_get_features_info.
Hence add wlan_tdls_get_features_info stub declaration for
FEATURE_WLAN_TDLS=n.
Change-Id: Ia9820e630b756befbfda98330be193760a331c93
CRs-Fixed: 3309612
Replace all occurrences of
wlan_reg_get_channel_state_for_freq with
wlan_reg_get_channel_state_for_pwrmode and use extra
parameter as REG_CURRENT_PWR_MODE.
Change-Id: I7f7e4e700091918eeebc87ccbbc85ececdd9bf52
CRs-Fixed: 3145011
Populate 6 GHz offchannel params only when VLP power is
supported by APs country.
Change-Id: Ic8d5d3f4b0bc1126d25242633eb0aae98989ddc3
CRs-Fixed: 3288784
Use uint8_t instead of boolean for tdls maxpeercount in
wlan_tdls_features as this will result in restricting max
supported TDLS peer count as one when more than one TDLS
peers are set.
Change-Id: I468f87e80178c0fb2e80b122f59d0dffcfa3928f
CRs-Fixed: 3284105
Disable TDLS offchannel if number of connected peers are more than
one.
Also, re-enable offchannel if all peers are disconnected expect one.
With this change, it is possible to increase the limit of max
connected peers which was previously set as one when TDLS
Offchannel is enabled.
Change-Id: Ic0826aa32c8ef805a2df6da6c7506895cdc08a09
CRs-Fixed: 3265868
Update offchannel frequency based on peer caps such as
1. If 6 GHz is supported then select the ini preferred 6 GHz channel
frequency if peer also supports the same channel.
2. If 6 GHz is supported and peer doesn't support the ini preffered
channel frequency then select the very first 6 GHz channel which
peer supports as preffered offchannel.
3. If peer doesn't support 6 GHz, then select ini preffered 5 GHz
off channel frequency, given that peer should also support it.
4. If peer doesn support 6 GHz and also doesn't support ini preferred
5 GHz offcahnnel, then select the very first 5 GHz channel it
supports.
Update preffered offchannel Bandwidth such as take minimum of peer
supported max bandwith which is extracted from supported opclass and
max Bw device supports.
Change-Id: I93412774f35280105b22d5ec44895572f9d7aeef
CRs-Fixed: 3266066
Since TDLS and STA share a common netdev interface,
when STA connection is made in 11a, 11b, 11g mode,
netdev parameters such as TSO/checksum are disabled.
If TDLS connection is formed over this Station,
TSO remains disabled as STA netdev is used.
This might result in loss of throughput when TDLS
connection is made with 11n, 11ac, 11ax dot11mode and
with wider bandwidth TDLS, this loss is more prominent.
Hence, overwrite the netdev params to enable TSO when
TDLS connection is formed in 11ax, 11ac, 11n mode if
the station is in 11a, 11b, 11g mode.
Also, disable the TSO params when TDLS tearsdown when
STA is in 11a, 11b, 11g mode.
Change-Id: I80deaef40d70030211e75a63e1339b1407627b52
CRs-Fixed: 3245258
Add concurrency conditions to reject TDLS setup if
along with BSS STA, any other iface is in connected state.
In case where supplicant directly sends TDLS setup without
adding peer or Discovery been rejected because of
concurrency, driver adds the peer and update fw with the
same using UPDATE_TDLS_PEER_STATE command. This results
in fw crash as TDLS state is not yet set.
This check is required because setp_peer shouldn't be
processed if any other interface such as SAP, P2P already
have started otherwise it will result in FW crash.
Change-Id: Ia0f1f099a5fb5be0c4875a38842d97070964aaa0
CRs-Fixed: 3263513
Based on the new requirement, add support to get requested
feature set info from different feature components.
Change-Id: I1bfc097c8ae8c4ab678d4dc07b7932cf3272d851
CRs-Fixed: 3262868
Fix stack frame size warnings during compilation for
tdls_get_6g_pwr_for_power_type and
tdls_is_6g_freq_allowed.
Change-Id: Ic9ca3c3db33acd769720bfcb8a754f8d6e6492ab
CRs-Fixed: 3249672
With introduction of TDLS on 6 GHz, some of the channels
that peer can support will be same for 6 GHz band other
bands. So, extract frequency by using peer supported
operating class and supported channel list which can
be used for further processing.
If channel numbers are used then the duplicate channel
numbers are removed which may lead to skipping 6 GHz
supported channels.
Change-Id: Ic6838d05c3dab5a0cc17483890b83805e076684c
CRs-Fixed: 3233999
Use frequency instead of chan num for processing TDLS offchannel
req for preferred offchannel.
Since, after introduction of TDLS on 6 GHz band it is better to
process offchannel in frequency instead of channel numbers as
some of the channel numbers are repeated for 6 GHz.
Change-Id: Icd7084b9f3c407ad0ad104b7f0d2230e31e0b10d
CRs-Fixed: 3234920
Irrespective of 6 GHz, wideband can be supported.
So, Allow TDLS connection in wideband only if FW supports TDLS
on 6Ghz.
If Fw doesn't support wideband then restrict the TDLS connection
BW to APs Bw.
Change-Id: If726233f381921a8eda25ac7a2705942db79d410
CRs-Fixed: 3223760
Add support for TDLS offchannel changes required
for supporting TDLS offchannel on 6 GHz band.
Change-Id: Ie150ff7e5a8237dab445ccb0ab6a4959a7c7fbf0
CRs-Fixed: 3223640
For STA+TDLS on 6 GHz band, set power mode as VLP
if the country supports it. Once there is no
connected peer then restore the mode which
was there before the TDLS connection.
Change-Id: I551ec77545e33cc70d1ce51a0a92cd7d8a56a8db
CRs-Fixed: 3223647
Add check for allowing TDLS 6 GHz such as TDLS
is only allowed for channels which supports
VLP Power level.
Change-Id: I32ea3fb61deed2ff236849ef22894d5cb791dd84
CRs-Fixed: 3223617