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
Fetch max num of active links recommended by AP
from beacon ie in case of ML connection.
CRs-Fixed: 3599428
Change-Id: I82581cbf7b3f6c6ac7f1b31040dad178a3fad27d
Legacy OSIF pointer in VDEV points to the link info element
that the VDEV is currently assigned to in adapter. As part of
link switch the VDEV will be reassigned to the link info structure
that corresponds to the new IEEE link id and here the OSIF
pointer is properly updated in the VDEV.
However post disconnect all the VDEVs will be reordered with the
link info structure on which it is initially created and in this
reset logic of the legacy OSIF pointer is updated for only one
VDEV and leaving the next VDEV to point to different link info
than where it is currently assigned.
In the reset logic, update all the valid VDEV's OSIF pointer to
reflect the link info it is currently mapped to.
Change-Id: Iba541ee99c008fb610abdd086ae40164dde0e74f
CRs-Fixed: 3626410
Whenever the link switch notification is received at hdd, the
vdev id is compared with what is send and the adapters vdev.
So log the error values and remove the assert which will not
help in debugging the issue.
CRs-Fixed: 3618094
Change-Id: I549096b8e594241cde5b185e5e1ab00cf9dc33e8
Currently, host driver sends ARP pattern to FW for wow mode for
STA interface only. Thus, in case of SAP interface, firmware drops
ARP packets during wow mode as driver does not sent the ARP
response for SAP for wow mode.
So, to fix this, send ARP pattern for wow for SAP interface also.
Change-Id: I8efd895a1c03900245048b2da2a8012ec36dbf71
CRs-Fixed: 3626249
Currently wifi set configuration vendor command returns error
in case if chan width attribute is not in the vendor command,
this results in complete failure of the vendor command and does
not give chance to parse and execute other attributes and also
this command always returns failure for all the attributes
if chan width is not present.
To address this issue, return success if chan width is not
present in the set wifi configuration vendor command.
Change-Id: Ifd8a857ae6aadd1aa2f8227507e1e27b477e1200
CRs-Fixed: 3628393
In API wlan_connectivity_mld_link_status_event(), link id
bitmap is passed to userspace instead of band bitmap.
Introduce wlan_convert_link_id_to_diag_band() to convert
link id bitmap to band bitmap which is required by userspace
Change-Id: Idf398d5d326aecc4db03ec70cab0e20f18dfbd3b
CRs-Fixed: 3624522
Currently, when disabling the power save mode, driver sends
the TWT teardown command 10 times to the firmware. These 10
commands being received by the firmware within 200 ms.
However, this time doesn't enough time for the scanning
process to complete.
To address this issue, added a delay of 500ms between each
TWT teardown command sent by the driver to allow for the
successful completion of scanning before further commands
are issued.
CRs-Fixed: 3626036
Change-Id: I214e5dc94e94eb48f41436f9e5f1a6b9714f4bc1
When multiple APs in the environment have same BSSID but
different SSID, MDIE configurations then BSS descriptor filled
by fetching the scan result with only BSSID as filter can cause
wrong BSSID data to be filled. This causes wrong MDIE to be
sent to firmware after roaming.
So filter the scan entry based on SSID and BSSID.
Fill the mobility domain to RSO config in LIM after roaming.
For initial connection, fill MDIE from assoc request.
Change-Id: Ica5c46d6fe07799f16a1a26d66aa6f8452e4c8d1
CRs-Fixed: 3615256
In certain cases where the deferred queue size exceeds the
threshold, defer message decision API drops the frames but
also logs the failure to defer the message and this can
cause excessive logging. Thus, rate limit the error log.
CRs-Fixed: 3627463
Change-Id: I5a1020639e2c63d9ce9ca4178a747183e3964cc0
ACS Scan requires reliable scan policy for valid results.
Set the flag to trigger reliable scan for ACS.
CRs-Fixed: 3627456
Change-Id: I269058f567f923396a67d7c36bdb839607d26c5c
FW asserts if the host sends deauth frames before
peer assoc with MLO MGMT TID. The host needs to
send all the management frames before peer assoc
without link agnostic bit in the WMI_MGMT_TX_CMD.
For MLO vdevs, send management frames with link
agnostic flag only if VDEV is in UP state.
CRs-Fixed: 3485708
Change-Id: I9fdee53e0f902a089ad3c5c8c99e720423cf9d6e
Reset HDD sta_ctx link info parameters after roaming to
reset the values in case of roaming from 3/2 link AP
to 1 link ML AP
Change-Id: I5e8165e50b92eed476d16696c14d4db82192c4ed
CRs-Fixed: 3627330