For certain cert cases, roaming is disabled through
CAPI. Supplicant sends RSO disable to Host and the Host
disables BTM offload as well as part of roam disable.
But, for cases like load balancing, Firmware has the
logic to handle BTM requests with disassociation
imminent bit set to 1, by sending an event to Host to
trigger a T2LM request action frame rather than a BTM
response. Thus, set BTM offload bit even when roaming
is disabled to allow FW to handle BTM request frames
instead of supplicant.
Change-Id: Iaa0cbbce62dbb76518880ef2470d6d0819c501db
CRs-Fixed: 3590733
Currently extension eid parsing in beacon request is
not supported and so ML IE is not included in the beacon
report.
Change is to
1. Parse extension eid in beacon request and store.
2. Include the basic ML IE is in the beacon report
even if scan database has ML probe response stored.
Change-Id: I5ee37bf8a15e829df167c0fe1283d048dbffe2f9
CRs-Fixed: 3541308
API copy_to_user is defined with attribute warn_unused_result, Need
check return value of 'copy_to_user'.
Otherwise there is build error.
Change-Id: Ieff08745b2b80ea2fb8e2f0339461d907bbea292
CRs-Fixed: 3606214
Current wlan bazel implementation does
not support peach chipset.
Fix this by adding peach chipset support.
Change-Id: Ic3cffeebd030db928a4d427b5e3fb03f8e776d4d
CRs-Fixed: 3590359
Currently, when the CAPI to set Manual BA mode is received
Host configures assoc vdev and sends it to FW, where as this
value is stored in mac context and sent to FW during vdev
start response for partner vdev. FW honors Host input during
peer create that happens before vdev start and thus, the BA
mode is not updated for partner vdev. This leads to FW
sending undesired addba request to AP. Thus, configure BA
mode to Manual on both vdevs immediately upon receiving
input from user space.
Change-Id: Id71c2e3b8fa523af94773b6346fd023784e0d85a
CRs-Fixed: 3584312
Modify the api cm_roam_trigger_info_event() in order to add
band info for Roam scan diag logging for MLO usecase.
Modify the api cm_roam_candidate_info_event() to indicate
MLO connection during Roam candidate logging.
Change-Id: Ib42e8362ee091716110c2aa3513a6f6b5653681f
CRs-Fixed: 3582383
Currently, some mlo APIs returns false if mlme_obj is
not found but return type expected is uint8_t.
So, return 0 instead of false in case of error.
Change-Id: I52d0fd82520bb046a7a80381d53f97c95b32d0d1
CRs-Fixed: 3608559
Currently, response required flag is set to true
for delete sta which means all messages will be
deferred until response is received. There might
be a case when CSA is in progress and del sta
happens then response will not be entertained.
Fix is to not to defer the messages until delete
sta response is received.
CRs-Fixed: 3594718
Change-Id: I4989dd22cadb9e18440e53ccfeb455a42e8a8afe
In case of 320 MHz BW, 6 GHz channel numbers are overlapping
with existing 2.4 GHz and 5 GHz channel numbers.
If DUT connected with one of overlapped channel, To identify
exact band and corresponding bonded channels driver should
pass 320 MHz center frequency to
wlan_reg_get_bonded_chan_entry() as a argument along with
connected 6 GHz frequency and channel width.
Fix is to use 320 MHz center frequency to compute bonded
channels in mlme_update_freq_in_scan_start_req().
Change-Id: I7616f0379d64e33f9bd4a208253db0a390158f77
CRs-Fixed: 3606575
Link switch request received on assoc VDEV(V0) and to process it
MLO manager will change this to link VDEV and another VDEV(V1) to
assoc VDEV. If AP sends deauth while link switch is in progress
then it will gets serialized first on partner VDEV (V0 - which is
the VDEV on which link switch is in progress) and then on
assoc VDEV(V1).
Upon link switch completion MLO manager will restore the VDEV
flags to original state and disconnect queued to serialization
will be activated and it first processes assoc VDEV(V0) as
when it is queued to serialization flags are not restored.
As part of disconnect complete on assoc VDEV(V0) kernel is notified
and this leads to framework sending set MAC address. Though assoc
VDEV(V0) is disconnected, partner VDEV (V1) is still not in INIT
state. So sending set MAC address while in non-INIT state will lead
to FW assert.
Defer any SB disconnects while link switch in progress, MLO manager
will queue these disconnects when link switch is completed and flags
are properly restored so that assoc VDEV is not serialized first.
Change-Id: Idd8afbdc74177eda429256b4761512e0d1caa949
CRs-Fixed: 3601964
Existing code for sending set link request to FW will
get VDEV list from MLO manager and sets the VDEV's
MAC address matching userspace request to active and
non-matching as inactive. However for three link
connection this misses the third link which doesn't
have any VDEV so userspace control for this link is
not available.
Enhance the logic to allow userspace to send MAC addr
of the standby link to manage link active/inactive.
Change-Id: Iba5d976349917b1b4f7146381cb0f49218cf4ed8
CRs-Fixed: 3600291
Introduce MLO support for Management event logging.
Add band info to indicate the bands of the link
requested for setup during Association/Disassociation
request frame.
Modify bssid info to send only the bssid of the AP
associated to the frame exchange link.
Add MLD mac address support during Association/disassociation
event logs.
Change-Id: I84e53a486ae5ae3f4f2f3f9c42658e1392e64b13
CRs-Fixed: 3603786
Link switch notification now can be called multiple times
with different reason. Use notify reason to take appropriate
steps corresponding to state of link switch.
Change-Id: Ib3a37e887903305d9bb8472112e0d92520724835
CRs-Fixed: 3606670
Currently, roam stats don't cache Roam AP BSSID and don't update
to user space.
If roam successful, save R_AP and P_AP, if roam failed, save P_AP
and save C_AP if exist, then update to user space.
CRs-Fixed: 3580957
Change-Id: Ib0048c34701a7750f9261ba5cbd1bc65eb41582c
In certain conditions, AP can send T2LM IE in assoc response
frame. Clear this T2LM mapping information during
disconnection to avoid run to run variations.
Change-Id: Iace0e615481c143bb22dcda1d9f97deb15f44009
CRs-Fixed: 3591466
After roaming to 3 Link MLO AP, the link info context is updated
based on link id, but this will cause issue if roamed AP has
different link ids.
So reset the link info context upon roaming and update the link_id
and vdev_id for all the links.
Change-Id: I6e88ed623fa6d068fe7a5ec572cfa132ec72ea6a
CRs-Fixed: 3603945
There is a requirement to downgrade/upgrade STA band width on 2.4 GHz
without reconnect. Change driver to allow such request from vendor
command by QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH attribute.
Change-Id: I6642963d90eafc388b6c20c0ce393e6fec58b374
CRs-Fixed: 3594338
Reset the fragment number subfield in the mac header for
management frames. Some APs are discarding frames that
have certain positive value assigned to fragment number.
Change-Id: Ic6757f19862443e84b45f655d34def300f8bfcfa
CRs-Fixed: 3573737
If power save disable command commes, implicitly driver
teardown the existing TWT session by sending out
TWT_DEL_DIALOG command to fw. In firmware if
command fails due to firmware scan_in_progress or
chan_switch_in_progress then driver should retries
TWT_DEL_DIALOG implicitly.
In driver, add retries logic to the twt del dialog command in
case of power save disable.
CRs-Fixed: 3584286
Change-Id: I71299ea8239f33d194d2b55499f2d8e5946c42ba
Currently, after updating the 1st partner link channel info form
the probe response frame driver returns the failure. Due to this,
driver has not added the beacon for standby link and age out
happened for the 2th partner link and STA connected with
2 link AP after aging out.
To fix is, To avoid scan aging for 2th partner link, driver
should return correct status in lim_update_mlo_mgr_info()
and add all the partner links info properly in the scan db.
CRs-Fixed: 3598675
Change-Id: I713cc9837c6728983c8154086ef6b46785fba727
Connected clients may downgrade/upgrade their bandwidth and
send OMN/OMI frame to indicates the same. Firmware sends
PEER_OPER_MODE_CHANGE to host with the received data. Consider
the peer indicated bandwidth also to determine the final
bandwidth to be supported for that peer.
Minimum of new bandwidth(upgrade/downgrade), peer associated
bandwidth and peer indicated bandwidth to be considered while
upgrading/downgrade bw when concurrency comes/gone.
Change-Id: I9a15162df3a46c9cf6c7bc4d861e350349d22201
CRs-Fixed: 3605233
Firmware sends PEER_OPER_MODE_CHANGE event to host in SAP
mode when a connected client indicates upgrade/downgrade
of its bandwidth.
Host needs this data as any further SAP bandwidth
upgrade/downgrade should honor the indicated bandwidth for
that specific peer.
Change-Id: I50fecf670b47c56e3f33b8519fde1d5eaec7523f
CRs-Fixed: 3604716
TSF auto report is a stand alone feature, which can
be used to sync TQM clock and TSF clock, more than
one features depend on it.
Introduce a new build flag WLAN_FEATURE_TSF_AUTO_REPORT
to decouple it from uplink delay feature.
And also introduce trigger source for TSF auto report to
identify different triggers and maintain the enablement
state.
Change-Id: I61005d0ba29e62995aeb88067d18ad48767bd8b5
CRs-Fixed: 3560239
Based on the new requirement, add support for vendor event to
switch the audio transport bearer.
Change-Id: Iff5733c7552674fb84d225d1aef183577105a276
CRs-Fixed: 3585390
Add comments for the fix added to validate security
for 11be connection and Reject partner link based on
security check.
Change-Id: I1b8d5e91e0e07c6c311b8c6ca6427c3fabd6b219
CRs-Fixed: 3605255
For action frames of category non-public userspace expects
source address in frame as MLD address for which change is
introduced using Ie63c09ece7550dfdc69c82ef8b7111251deee33e.
The lim_send_sme_mgmt_frame_ind() API modifies the actual
frame's SA/DA/BSSID fields and copies to buffer malloc'ed.
Processing RRM frame post notifying userspace results in
trying to use modified SA address as peer address which
will result in failure.
As userspace will only receive on the malloc'ed buffer it
is better to do Link-MLD address translation on only that
buffer so that the callers of lim_send_sme_mgmt_frame_ind()
won't have tampered fields.
CRs-Fixed: 3606603
Change-Id: Iaeed8d4467d759cb8e61cd48404b5bc048f18b9a
Include BW_IND_ELEM IE in beacon and ECSA frames while advertising
CSA. This is needed when upgrading the bandwidth to 320 MHz.
Send the ECSA IE with switch count as 1. Use a timer to reset it
after sending the beacon out.
Change-Id: I6c38ef1ce4629b7a67bcbf803c7dbcced05ade33
CRs-Fixed: 3604422
When a concurrent STA moves to a new channel due to CSA from
peer AP, check if 320 MHz SAP needs bandwidth downgrade/upgrade
operation.
Change-Id: Id207f1c37a65c4638359eb7f2294478f13beed73
CRs-Fixed: 3601349
Check if the roamed channels lead to DBS/SBS with existing
320 MHz SAP after handling roam sync indication.
Change-Id: I3c816378f93b505c59da7aa9c4cfcc6352f5dbb3
CRs-Fixed: 3601348
When a STA connect req comes up, check if any of the candidates
cause DBS/SBS with the concurrent 320 MHz SAP and downgrade the
SAP bandwidth to 160 MHz.
Also, consider to downgrade the SAP bandwidth to 160 MHz when
an ML candidate is found as ML candidates need DBS/SBS mostly.
Change-Id: Icf2c9c26bd953d58bc0702302825493c0937a699
CRs-Fixed: 3601344
When a concurrency is gone, SAP ch_width can be upgraded to
320 MHz if it's still valid. Use opportunistic timer to avoid
frequent upgrade/downgrade operations.
Change-Id: I60e19427af2226970f1801dd00b04e1072ebea01
CRs-Fixed: 3601340
Currently, 320 MHz SAP is supported only when the hardware mode
is SMM. When a new concurrency comes up, firmware may have to
configure the hw_mode to split-phy mode(DBS/SBS). Then the
requirement is to downgrade SAP to 160 MHz as split-phy mode
doesn't support 320 MHz.
As part of the downgrade process,
1. Indicate to the connected peers that SAP is going to be
downgraded to 160 MHz via ECSA frame
2. Update ECSA IE to the beacon template with count as 1
3. Indicate the final bandwidth of each peer to firmware
Add infrastructure to support these. Reuse some of the existing
APIs of NSS update and hw_mode update.
Change-Id: Ieb964ddb782a547699890a9dbbc3efdf631149eb
CRs-Fixed: 3601336
Currently, session->ch_width is used to send the current operating
ch_width of the SAP in beacons/probe rsp/assoc rsp. But the
current operating bw may change due to concurrencies. Refine the
current usage to get operating ch_width from vdev mlme priv object
instead of pe_session.
Change-Id: Ie4be6337fcb1902f38ae5cb2db03c5b6af16ee3a
CRs-Fixed: 3600239
Based on the new requirement, add support for vendor command
to switch the audio transport bearer.
Change-Id: I1d3b74c18976b0927ebba228b73af5a10cc67391
CRs-Fixed: 3582788
FW allocates memory for action oui extensions only during
init. But, the driver configures some OUIs to the firmware
during connection. For the firmware to accommodate these
new action OUIs during connect, additional room needs to
be sent to firmware during driver initialization itself.
Add changes to send additional room for 10 extensions during
initialization.
Also, currently host adds the count of host only extensions
also as part of the total extensions sent to the firmware.
This leads to wastage of memory allocated in the firmware.
To fix this, keep a separate counter for host only extensions
and remove these from the total extensions saved before
configuring action OUIs to firmware.
CRs-Fixed: 3605032
Change-Id: Ibac93418a873bab53e1c58bf7c06834e38dfd534