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
Used "defines()" instead of "defined()", which causes
compilation error when corresponding compilation is enabled.
Fix the same by correcting it to "defined()".
Change-Id: Ifd43bc06c6ddf72bacd3b1fbbf2186d233a03a6c
CRs-Fixed: 3625040
Currently group tx success is sent by FW via CP stats
but FW doesn't have success/failure status, so stat
doesn't get incremented in FW.
To avoid the issue update group tx success from vdev stats
updated by DP.
Change-Id: I3062b3c1b43da4adf457b7ff82c776837ed684e1
CRs-Fixed: 3628124
Currently, before ML probe rsp in cm_get_ml_partner_info()
API, driver tries to get the partner link scan entry
and validate below cases:
1. Whether partner link scan_entry is found or not.
2. And based on the security, reject the particular partner
link.
But in the ML connection, during scan, driver may not receive
the beacon/probe response frame for the partner link. But
later, will generate it from ML probe response.
Due to scan_entry not found, driver may connect with only
1 or 2 link connection.
To fix it, driver should check the partner link security
only after getting the complete partner link info in ML
probe response frame and added in the scan db.
CRs-Fixed: 3615946
Change-Id: Icb7f4e9e41d0da4a34799f535a2a0a1fe3b99f58
Beacon/probe resp needs to be processed only if it's received
as part of join(eLIM_MLM_WT_JOIN_BEACON_STATE). But beacons are
processed after join phase and before connect completion also.
This delays actual connection if there are any critical
updates(e.g. VHT IE update) in beacon. These beacons need not
be honored before connect completion.
So, drop the beacon frames if received during connect.
Also, reduce the log level for error cases while processing beacon
in lim_update_sta_run_time_ht_switch_chnl_params().
Change-Id: If2f4ee05eeb27d26964daf8dfc6e7c9b4fb3144c
CRs-Fixed: 3624753
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 infra in host driver.
Change-Id: I9d828d52a2c03e8e4e2c0a284ff0dd7510798dbe
CRs-Fixed: 3609864
Currently, host driver sends RSO stop request to firmware when a
disconnect request is received. It waits for the RSO stop response
by running a timer and continue disconnect operation after
getting response/timeout happens.
But if host driver receives CSA event from firmware(via scheduler
thread) and disconnect from userspace(via wpa_supplicant thread)
in parallel, these two get processed in different threads. CSA may
send RSO stop request to firmware but it doesn't have any
wait-for RSO_STOP mechanism.
Disconnect also tries to send RSO_STOP request to firmware but
doesn't send as the RSO state is already moved by CSA.
Disconnect would continue and gets handled in vdev state machine.
When disconnect request is received from userspace, non-assoc
link connection manager state machine is moved to DISCONNECTING
first and then assoc link connection manager SM is moved.
VDEV state machine is not yet aware of the disconnection.
VDEV SM cannot handle this disconnect if VDEV_RESTART(CSA) is
posted to it before posting EV_DOWN(disconnect).
So, avoid posting VDEV_RESTART to VDEV SM if any of the VDEV
is in disconnecting state. Check for the status just before
posting, i.e. after sending RSO_STOP req to firmware to avoid
possible race conditions due to WMI delays.
Change-Id: I7bc876847a8dbc9ccb38128b1fa4dde6af6358d2
CRs-Fixed: 3623360
Optimize policy manager logging to handle hw mode change event
and freq dump for all mode.
Remove freq dump for all mode as its fixed and decided during
init. Also remove the hw mode offload logs as its also hw specific
and can be easily known other ways.
Change-Id: Ib4f2dceb56d5a82aa3e6c42d0e7b56768abc270b
CRs-Fixed: 3626728
Incase of MLME component failure post vdev create the vdev_id
is freed up without sending the vdev delete to the firmware,
in this specific case of the issue post vdev create to firmware
a dp vdev attach failed because of memory allocation failure.
Send vdev delete to firmware incase of mlme component failure
post vdev create.
Change-Id: Ib5bf2a2a7f77a44a80b76bd7a243f2c286a19f8b
CRs-Fixed: 3623511
While processing roam sync indication for link vdev, the assoc
response frame is generated and parsed to fill new pe_session.
But its parsing for the standby vdev also. This causes parsing
failure and RSO stop is sent to firmware leading to HO failure
disconnect.
so don't generate assoc rsp for standby vdev during roam
Change-Id: I2a728fbd0d1c9dd19b480ae95df83c680aacb191
CRs-Fixed: 3629750
For MLO connection, when disconnect is started as part of
link switch, host will send RSO STOP to FW.
Post disconnect complete host tries to enable RSO again on
the other connected STA. This is protected by link switch in
progress check to avoid sending RSO start on link vdev during
link switch. But when NB or SB disconnect is queued during link
switch, then link switch in progress flag is reset and RSO start
might go on the assoc vdev.
Do not enable RSO if disconnect is ongoing on same MLD.
Also while processing RSO stop response fw might send RSO stop
response on link vdev. Add handling to process RSO stop response
on other vdev belonging to same MLD
During roam sync if assoc rsp is received from unexpected peer
then abort roaming and send rso stop to FW,HO fail will clean
host CM state machine.
Change-Id: Ibd1f424c3dea80e50e70ebdf112ee2cf44868ebe
CRs-Fixed: 3626015
In case of wide band scan, FW sends cca_busy_subband_info
tlvs via WMI_CHAN_INFO_EVENTID, which contains value of
rx_clear_count for each 20 MHz freq space.
Fix is to updates rx_clear_count per channel to cp stats
component.
Change-Id: Iff26087da4ffa3e1147c5ffe4127e5aa078f406f
CRs-Fixed: 3626725
The status code is set to 0(SUCCESS) in Association Response but
there is not RSN IE or WPA IE presented in the Association Request
of STA.
Change to send the Association Response with status code 0x0D(
Responding STA does not support the specified authentication
algorithm) to deny this Association Request.
Change-Id: If2a0a59c6b4986b54a12d4bdc7372c38317b6ce2
CRs-Fixed: 3625499