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
Currently host start processing rrm request frame with
source mac address (pHdr->sa) present in frame. But in
case of MLO connection, pHdr->sa address is referred to
MLD address and if host sends response frame with MLD
address to FW, FW discard/drop it.
Fix is to make sure driver should use link address
(pe_session->bssId) to process rrm request
and use same address to send response frame to FW/AP.
Change-Id: Ibffcaf6ca1341f3e22c9cba09f09c99cdc4fd5cd
CRs-Fixed: 3598628
Every adapter takes ~300ms to stop. For 4 adapters, totally 500ms is
not enough. To ensure all adapters stopped, increase sleep time to
1.5s.
Change-Id: I56ecb99519bf7834dd5e00986d847643612936c9
CRs-Fixed: 3604933
STA+GO concurrency and MCC mode case, DUT received lots of probe
request in short time on STA role channel, and host always send back
probe rsponse on GO channel, this caused FW TX failed due to current
channel is for STA, then FW has no chance to handle msg buffer in
time, buffer exhausted and crash.
To fix this, the probe request from STA role channel should be
ignored, and just respond the request from AP role channel.
Change-Id: I74a569c156b0ad7a14a32f7e0f0bfd58379e9f35
CRs-Fixed: 3564384
If user configure to not use 40 MHz in 2.4 GHz, then avoid setting
40 MHz capability and use cb mode as
WNI_CFG_CHANNEL_BONDING_MODE_DISABLE for 2.4 GHz.
Change-Id: I4e9153e211e02f6b959e16dad4573c2b490cb215
CRs-Fixed: 3584510
SAP operating bandwidth may get updated due to concurrencies.
This might be temporary and SAP moves back to its original
bandwidth once concurrency is gone. So, add set and get APIs
to maintain the SAP current operating bandwidth.
These can be used during/after bandwidth update operations.
Change-Id: I386ad20bcbd0902672a890bde510ecc50e58512b
CRs-Fixed: 3600223
Currently, kernel invoke the regdomain notifier to host driver using
registered callback, if kernel call this callback after idle shutdown,
will send CURRENT_COUNTRY to F/W after WOW ENABLE cmd.
To fix it, add driver status check when handle regdomain notifier.
Change-Id: I718f46b9cb02bd885ecc19684a6af9a26bd9410f
CRs-Fixed: 3602098
BW_IND_ELEM is needed to indicate updated bandwidth to peers
through ECSA frame/along with CSA IE in beacon. Add the IE
in ECSA frame structure and beacon structures.
Generate corresponding APIs with the help of frame parser.
Change-Id: Ia38d40050f945136bd01313bd3e17011b256afad
CRs-Fixed: 3604384
Add an API to loop through all existing connections and check if
the new connection frequency causes DBS/SBS.
Change-Id: Ib7929fc969cd04a26e082f6f9a3acf991befcc5d
CRs-Fixed: 3600235
If disconnection event is for link switch, do not trigger SAP
force SCC check. And if link switch is in progress, skip
the force SCC workqueue.
And if link is in middle of switching, do not run link force logic.
Change-Id: I4a8bf59ff16dca2caf560eb36e1bc58f7d6a919b
CRs-Fixed: 3590814
Currently mutex is being called while taking rcu read lock
which is resulting in "sleeping function called from invalid context"
warning as mutex is not allowed while holding rcu_read_lock.
To fix the issue replace rcu lock with rtnl lock.
CRs-Fixed: 3600635
Change-Id: I41aa27094ef58363eeda4bdb15f23d312e7bac37
From the kernel, it is expected to hold the mutex lock while
channel switch notify. Currently it is not done hence kernel
is asserting while channel switch notify.
To avoid kernel assert, hold mutex lock before driver
invokes channel switch notify.
CRs-Fixed: 3598047
Change-Id: I8838aa07bc12c317c494ad7e17116d090582944a
1. Upper layer sends QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONTROL_MODE
vendor command to configure control mode in host/fw.
2. Host receives GET_ML_LINK_STATE driver command to return
control mode (configured at step 1) to upper layer.
Host should reply as a response of GET_ML_LINK_STATE with same
value of control mode configured at step 1 to upper layer.
Change-Id: I6ae82c2a1c0e4ff13cea678bf27916a3cda8ad81
CRs-Fixed: 3595730