For certain cert cases involving power save, STA is expected
to wake up only to receive DTIM beacons but Firmware is not
aware of the AP's DTIM period. Thus, Host caches the DTIM period
received from AP within the TIM IE and configures this value as
the listen interval to Firmware via existing WMI.
CRs-Fixed: 3601676
Change-Id: I23e191b00e22b9cd26344ad40f485807d81ed3d8
Userspace can dynamically modify association BW and as part of
disconnect need to reset the BW to original value, if not the
next connection will might happen with downgraded BW.
Currently the restore is happening on deflink VDEV instead of
actual disconnecting VDEV.
Fix this by changing function argument to accept link info
pointer in HDD adapter of that corresponding VDEV.
Additionally, the driver capability for 6 GHz-320 MHz is not
properly restored and further connections to 320 MHz are
happening on 160 MHz.
To fix the 160 MHz downgrade, use original EHT capabilities in
global MAC context instead of using modified EHT cap where
320 MHz support got reset on userspace dynamic BW update.
Change-Id: If2badb0a234f45d57dc186729bc529137d7a5131
CRs-Fixed: 3628940
In api wma_roam_update_vdev(), peer frequency is set before
peer setup which results in band info to be missing in
Datapath connectivity logs after roaming.
Modify api wma_roam_update_vdev() to set peer frequency
after peer setup in order to print band info for
datapath connectivity logs after roaming.
Change-Id: Idc2d6c1cda072f576c26964a0fc0c418760608f4
CRs-Fixed: 3629093
Based on new requirement, add changes to send the vendor event
send audio transport switch request and also add changes to process
the response received as a vendor command.
Change-Id: I4b8804c9021ea8807ca785f81f3df431690029fb
CRs-Fixed: 3626954
Based on the new requirement, host driver needs to send the audio
transport switch request from host driver to user space, to
support this requirement, register os_if callback function with
bearer switch state machine
Change-Id: Ib94ff4d9876e79d984401262253602c975b0fb1e
CRs-Fixed: 3626952
When initial connection was 320 MHz, via command SET_MAX_BANDWIDTH
set channel bandwidth less than 320 MHz, driver disable 6 GHz
connection by disable support_320mhz_6g EHT capability.
In order to allow re-connection with 320 MHz, need to re-enable
support_320mhz_6g EHT capability before disconnect complete.
Change-Id: I8b3203c14893d2c5db658ca42e90de4946c3d836
CRs-Fixed: 3629179
If "override_ht20_40_24g" ini is set, then both
connection and roaming should not happen to the
2.4 GHz BSS in 40 MHz.
Based on this ini, update the channel widthset
capability for the 40 MHz in the HT/HE/EHT cap
IEs after connection. Similarly, after disconnect
reset the capabilities back to default self cap.
Change-Id: I6f7e019f4a8f194a703b503741a57f22509a5d3d
CRs-Fixed: 3623042
Currently, SAP+STA and STA+SAP concurrencies are considered for
320 MHz SAP bandwidth downgrade to 160 MHz/upgrade to 320 MHz
from 160 MHz.
But during MLO link switch, a link gets disconnected and a new
link connection is started. The new link might be of 6 GHz, which
makes the sap_bw_update algo thinks that new connection/candidate
is 6 GHz and it can coexist with 320 MHz with SAP. This drives the
sap_bw_update algo to upgrade to 320 MHz, which starts policy mgr
opportunistic timer. This blocks the link switch(new link
connect operation). But this is not correct as a link is already
present and new link gets added.
Add a condition to check current bandwidth of the SAP and go for
downgrade only if the current bw is 320 MHz.
Also, cleanup the code which restarts policy mgr opportunistic
timer explicitly as timer is anyway started post
connect/disconnect completion. Introduce a new reason
POLICY_MGR_UPDATE_REASON_TIMER_START for this purpose.
Change-Id: Id49632b385cd3554b67be11e02e4e45ce094f0b4
CRs-Fixed: 3632270
Currently, if host fails to get memory for SAP 320 MHz bandwidth
update messgae eWNI_SME_SAP_CH_WIDTH_UPDATE_RSP, it doesn't post
the message to SME and the command which caused the bandwidth
update is not removed from CSR queue. No other command can be
processed in such cases and leads to command timeout errors.
Post the message and handle it in SME even if it fails to get
memory. There could be functionality failures but system would
be functional.
Change-Id: I9e4c412441c9a9db02c7883dd4f64d7d2893a43d
CRs-Fixed: 3631557
Add changes to init bmiss timeout values with
half of CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP
and CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP
if CONNECTION_ROAMING_CFG is set.
CRs-Fixed: 3633348
Change-Id: If2d4a3975c86e3aa50ee98117795ce7c77b0460c
Add changes to handle audio transport switch events in different
states of the bearer switch state machine.
Change-Id: I07568b3c3ccc5877d1e6f46ae5bf12afd3af3ec2
CRs-Fixed: 3626950
When connected 320 MHz AP, use SET_MAX_BANDWIDTH set to 160 MHz,
then GET_CU_SUB_CBW20, driver should report all 320 MHz channel
CU info, so we need record center freq2 for 320 MHz at the time
of initial connection.
Change-Id: I8b8ed049926caa31bfac3c702434b68e5f5a26ae
CRs-Fixed: 3629227
Add check's in following cases if STA does
not support T2LM negotiation.
1. Do not send T2LM wmi when T2LM IE is present in
beacon or probe response or assoc response.
2. Skip T2LM candidate validation during connection.
3. Drop T2LM action request frame.
CRs-Fixed: 3610173
Change-Id: I9d45bd005675250f6739ce897ab5b482f27f1417
Trigger a cds_recovery as a error handling mechanism if
wlan suspend resume fails.
Change-Id: I36cfbc6c1e7820be1b60a73006f93e8a2926c98c
CRs-Fixed: 3632605
Add ucfg wrapper API over the existing MLD ID get/set APIs
that will be invoked in HDD/OSIF.
Change-Id: I07d2e661c7e8129e54a0449f958749648c25e4ac
CRs-Fixed: 3621169
Currently in the driver, if mac_open fails we just print
the error message and return. To debug why mac_open failed,
crash dumps are required. So, to collect crash dumps use
QDF_DEBUG_PANIC when mac_open fails.
Change-Id: I61f49d002caa0aaf5927c1d0f60c6d805dfefbd9
CRs-Fixed: 3632314
Current SAP is unable to bringup 2 vdevs and connect 2-link MLO.
To unblock validation we simulate 2link connection on SAP.
Changes are as Follows:
- Add MLD caps to Beacon Frame
- Add RNR IE to Beacon/Probe Rsp Frame
- Add Per-Sta Profile to Probe Rsp Frame
- Add Per-Sta Profile to Assoc Rsp Frame
Change-Id: Ice2d3557e00426ead044ec6b4b507746db4148d4
CRs-Fixed: 3591637
Currently in case of 3-link MLO connection, if the standby link
was never active, then driver is not sending any rate_stats to wifihal
as part of MLO Link Layer Peer stats. But wifihal is expecting
rate_stats for every connected peer and since driver is not sending
them for the standby link, LL_Stats response handler is failing.
To avoid this issue, send default rate_stats for the standby link
as part of MLO Link Layer Peer stats.
CRs-Fixed: 3630522
Change-Id: Iba09642b2e00f86c634364bc10cebf3fa7080f74
Add support to configure Power save enable/disable on
specific MLO links based on the link ids.
Change-Id: I63bc332d2afb7e63417b8191dd463f9caa659270
CRs-Fixed: 3616677
Currently for rx packet delivery whether it is from monitor mode or
local packet capture path, is handled in NAPI softirq context and
netif_receive_skb() is called without disabling local bh.
In case of local packet capture, for tx packets after the tx_mon tlvs are
parsed, ppdu queue is handled in workqueue context and nbuf is passed
up the stack in rx_mon callback. Because the nbuf push type NAPI is used
this is causing 'BUG: using __this_cpu_add() in preemptible' for
nbuf coming from tx_mon workqueue context.
Fix is to identify the appropriate nbuf push type based on the context.
if caller is from softirq context then use DP_NBUF_PUSH_NAPI or
if caller is from non irq context use DP_NBUF_PUSH_BH_DISABLE.
Change-Id: I71b3be70febed1c077e7d4d36274a4805a33b722
CRs-Fixed: 3631536
When FW includes new eMLSR hardware modes in
service ready indication host should be able to
store and update capability information.
Add support in policy manager to handle new HW modes
for eMLSR.
CRs-Fixed: 3618543
Change-Id: I575b93c85940e4d6469fbd038ce90123750729ff
Join timeout can be configured to 10 times the beacon interval
of the candidate beacon if it is in bounds with the join failure
timeout ini. However, host always configures join failure timer
with the default join failure timeout.
Fix the join failure timeout calculation by considering the
beacon interval.
CRs-Fixed: 3628892
Change-Id: I6c238c7db8ad6925c11fa97b3a698643187fec95
In case of NAN, if the tput levels are between mid to high range then
apply next SNOC voting level.
Change-Id: Ifb77c8f627b5fc565767aac4baa3629b12a37582
CRs-Fixed: 3611715
When there are more than one audio transport mediums
are available, there is a possibility to switch the
audio transport medium from one medium to another
medium.
To provide this support to switch the audio transport
medium, add a bearer switch state machine in host driver.
Change-Id: Ic57c11d2cff72cfa00ce7bc438998c501ce97d33
CRs-Fixed: 3626949
When host handles hw_mode, host rejects NAN if CAC is in progress
as NAN always expect hw_mode DBS and set_hw_mode can't be done
while DFS CAC is going on.
But in hw_mode offloaded solutions, host doesn't have control
on set_hw_mode. Host can expect firmware to take care of
NAN+CAC scenario but that causes some out of sync issues.
So, reject NAN if DFS CAC is running. Framework/application
may retry later.
Change-Id: Icf4367c9185511e732379df2a32bf7889b9b101b
CRs-Fixed: 3614017
This reverts commit I04358e4d0fbe54552f4b387789a256f45dc7e20f.
As part of initial Assoc request, host starts Assoc failure
timer , if AP sends Assoc response with pmf timeout, host
stops the Assoc failure timer and starts pmf timer. After
pmf timer expires as part of Assoc request host freshly starts
Assoc failure timer.
Instead of stopping and restarting the Assoc failure timer
host should use the initial timer for the complete Association
process.
CRs-Fixed: 3629968
Change-Id: Iefafe9ffbccd0f40c8add13ad7bfcc08344d476d
Currently pre CAC command is failing as host is trying
to start an ML SAP as part of pre CAC. As ML SAP + ML
SAP concurrency is not supported and the first SAP is
an ML SAP, it's not possible to start another ML SAP
for pre CAC.
To address this issue create a non-ml SAP as part of
pre CAC.
Also take RTNL lock for hdd_open_adapter and
hdd_close_adapter because vendor command tool doesn't
take RTNL lock but cfg80211_register_netdevice
and cfg80211_unregister_netdevice API's expect RTNL lock.
CRs-Fixed: 3627785
Change-Id: I84ac7674cbb0911258736b2aa7886b74bc9c8714
Add support for INI twt_disable_info to disable FW initiated
information frame for TWT
Change-Id: I06fe9be364d9def0ccfffc196ae31dcc2ab9a500
CRs-Fixed: 3621241
Change to parse wpa_cli command to set wifi configuration for attribute
QCA_WLAN_VENDOR_ATTR_CONFIG_COEX_TRAFFIC_SHAPING_MODE and send traffic
shaping mode to FW with WMI WMI_COEX_SET_TRAFFIC_SHAPING_MODE.
Change-Id: I3965dfc6b63f55e568aed34e0091b95a21fae88f
CRs-Fixed: 3625180