Add target_if API to send ARP request, LRO config and
DHCP indiacation to firmware.
Change-Id: I2d4af7a5da6c29398ab00205654df9be3d90b665
CRs-Fixed: 3165155
Implement DP component infra support, So that
DP component gets allocated and initialiazed.
Change-Id: Icdcbf92956dcf0984dd14262f3c7f29554b4eba8
CRs-Fixed: 3164965
Currently mlme_set_twt_peer_capabilities() api is use to
update twt capabilities using he caps and he ops. But now
onwards partial TWT(requestor and responder) can be
supported from 11n mode also.
Make this api as generic so that it can be use for both
11ax and 11n.
Change-Id: Id89e056927a914938efad7116796cbf64b5764db
CRs-Fixed: 3185133
Currently TWT works only in 11ax. Add enable_twt_in_11n
ini to support TWT in 11n mode.
False: DO not support TWT in 11n mode
True: Support TWT in 11n mode
Change-Id: If1011c9a24b9c285199d7b0e60e5614d6c1f8786
CRs-Fixed: 3185100
Currently, roam scan mode is updated as roam offload while setting
primary vdev, but expected scan mode in this case is none. This is due
to wrong reason is propagated from cm_roam_stop_req to
cm_roam_scan_offload_fill_rso_configs.
So, reason in roam stop config is updated with set roam primary which is
propagated to cm_roam_scan_offload_fill_rso_configs.
CRs-Fixed: 3182222
Change-Id: I6d0db95f475038e659bddeb24b79ac4f67c9c079
Currently, when user sets pkt capture beacon capture config
using vendor command, both nth beacon interval and connect
beacon config is sent to firmware. This leads to reception
of all beacons even if nth beacon interval is configured.
Whenever nth beacon interval and connect beacon is configured
from user, firmware expects host to not send connect beacon
config to FW. This change also adds Nth beacon filter check
for beacons in packet capture management rx path.
Change-Id: I046a282c5f79598b686c4fd95554e2330c6bfb39
CRs-Fixed: 3150806
Currently tso_desc moved from dp_tx_desc_s to dp_tx_ext_desc_elem_s,
so make corresponding change in pkt capture to avoid compilation
error when pkt capture is enabled.
Change-Id: I18260c5df0872470b2309e31e8d2011f5fac70d1
CRs-Fixed: 3156011
Passing WMI_SCAN_FILTER_PROBE_REQ in scan control flags to fw,
for sync with host triggered scans
Change-Id: Ided83c10c48427db29c95a2dc8eac6df6ff467f7
CRs-Fixed: 3184905
Use the Connection Manager state machine to check if the
VDEV is currently in roam sync state. RSO states can be
changed dynamically based on the roaming configuration, whereas
the state machine would maintain the state.
Change-Id: Ic5c9a3a322febfe6b71f4684d5074dad599ecd37
CRs-Fixed: 3183191
Currently driver does not caches peer nss and it needs this info
for big data stats. When driver receives big data stats command
it always returns nss as 0 which is not correct.
To address above issue, add support to cache peer nss in SAP
mode.
Change-Id: I5152581d7d66b5bf20f6102dcb9edaa4e23b35bc
CRs-Fixed: 3174420
Issue scenario, 1st Addba response tx and set is_mgmt_data_valid false.
2nd TX frame happens for valid frame that needs to be logged and set
wma_handle->is_mgmt_data_valid to true. Then the 1st frame TX completion
tried to access wma_handle->mgmt._data. It may access invalid context if
race condition happened.
Move management frames handling from lim_send API to tx_complete_cnf API
Change-Id: Ib5090dcd274160b3a9d7b9975d0839ec06616b86
CRs-Fixed: 3154710
Currently there is a corner case wlan_cbs_timer_handler is called
with cbs->vdev being NULL.
In wlan_cbs_iterate, cbs->vdev is checked before getting g_cbs_lock
lock, then wlan_son_cbs_disable is called which sets cbs->vdev as
NULL and sets cbs state as CBS_INIT, then in wlan_cbs_iterate, it
gets g_cbs_lock lock and set cbs state as CBS_WAIT and start timer.
Finally in timer callback, cbs->vdev is NULL and cbs state is CBS_WAIT.
Check cbs->vdev after getting g_cbs_lock lock in wlan_cbs_iterate.
g_cbs_lock should protect all fields in struct son_cbs.
Change-Id: I393db09ac29e19fd29e546035c37062c04da7f7d
CRs-Fixed: 3179382
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).
Change-Id: I5131967ff2061bf6afad7bc5f091a7eb5ee01b8a
CRs-Fixed: 3168197
SAE authentication logging events are sent from host
driver during connection as well as during roaming.
But the other roaming frame related stats are printed
as part of the WMI_ROAM_STATS_EVENTID handling.
Since this roam stats event is received after preauth
frame related logs are queued to userspace, the order
of the logs are not correct.
Cache the SAE preauth logs in mlme and print them
upon receiving ROAM stats event. Read the firmware
service capability to decide if new caching needs
to be used or legacy behavior needs to be followed
Change-Id: I76381b9deef222f1481325974e2b5d9730eb2b67
CRs-Fixed: 3154147
Add multi-client latency level service bit capability support,
WLAN_SOC_WLM_MULTI_CLIENT_LL_SUPPORT, to check whether the FW
supports multi-client latency level event or not.
Add INI "wlm_multi_client_ll feature" to enable/disable multi
client latency level feature from the host side.
* @min: 0
* @max: 1
* @default: 0
If firmware sends multi-client latency level service
bit capability to host and host enables multi-client latency
level feature via INI, the host waits for an event
WMI_VDEV_LATENCY_LEVEL_EVENTID as a response to a request
command WMI_WLM_CONFIG_CMDID.
Change-Id: I5cbea89e67caabac5db70b7f0a91c18bdd512e9b
CRs-Fixed: 3180928
Add support to dump the full management,eapol,
dhcp, arp frames based on the level of the
debug_packet_log configured through ini gEnableDebugLog.
The dump levels are as follows:
* 0x1 - Enable mgmt pkt logs (except probe req/rsp, beacons).
* 0x2 - Enable EAPOL pkt logs.
* 0x4 - Enable DHCP pkt logs.
* 0x8 - Enable mgmt action frames logs.
* 0x10 - Enable ARP pkt logs.
* 0x0 - Disable all the above connection related logs.
Change-Id: If572cccb327da785dd0d56cff6d37ba170b15cc8
CRs-Fixed: 3173604
If there are 3 or more 5/6Ghz SCC freq, avoid filling SBS freq in
PCL as due to 3 home freq limitation, 3rd freq will always be
leading to SBS.
So add SBS freqs in PCL, only if number of SCC are 1 OR 2 with 5Ghz
MCC/SCC.
Change-Id: Ib97589df50bbacafa56766dd4b8af6d9f5d1419b
CRs-Fixed: 3178339
Add concurrency conditions to reject TDLS connection if
along with BSS STA, any other iface is in connected state.
In case such as where peer directly sends TDLS setup
request and because of this supplicant does ADD peer
which is not rejected in case of concurrency.
This check is required because add_peer shouldn't be
processed if any other interface such as SAP, P2P already
have started otherwise it will result in FW crash.
Change-Id: Ied36228e033730cd337cd64612df6b4c2696ee28
CRs-Fixed: 3169912
Update doc for SBS related pcl_channel_order to make
it more clear and add doc for new pcl types.
Change-Id: I3635cc664f9a004a07956d88d7d95b02e14947a3
CRs-Fixed: 3178476
Before enabling FW features via wext or vendor command, first
sanity check if the feature is supported or not.
Change-Id: I2bb1c61a717be39185aee580085952adcc70ef8f
CRs-Fixed: 3171698
Assume AP1 and AP2 are SPMK APs. For SPMK AP(s), Host
should add an entry of an AP in PMK cache table like below in
two cases only:
Case 1. When DUT successfully associated with SPMK supported AP
In this case host update “is_spmk_ap” flag in PMK
table by parsing beacon of associated AP after
successful connection.
Case 2. When DUT successfully roamed to SPMK supported AP
In this case host update “is_spmk_ap” flag in PMK
table by parsing roam sync indication event.
In case of connection with SPMK AP, Host selectively deletes PMK
entry for other SPMK supported AP(s) on basis of “is_spmk_ap”
flag and maintains only one entry for all SPMK AP(s). And host
sends the same single PMK in RSO for further roaming to SPMK AP.
Initially, DUT is connected with AP2. Then Disconnection happens with
AP2 due to NUD failure. After disconnection, the upper layer sends
flush PMK requests for AP1 and AP2. Host deletes old PMK entries for
both APs. Now upper layer sends a set PMK request for AP2. Host adds
AP2 entry in PMK cache table but host does not set "is_spmk_ap" flag
in PMK table for this entry as DUT is not connected to AP2. Now host
receives a connect request for AP1 from the upper layer. DUT
successfully associated with AP1 by performing full SAE authentication.
Host adds an entry for AP1 in the PMK cache table and sets "is_spmk_ap"
flag for AP1 but fails to delete the entry for other SPMK AP(s), here
AP2, from PMK cache table. This is because of "is_spmk_ap" flag is not
set for AP2. At this point of time below is the PMK cache table entry
for SPMK AP(s): The Host PMK cache table has two entries for two SPMK
APs.
BSSID PMK is_spmk_ap flag
AP2 PMK2 0
AP1 PMK1 1
Now FW roams to AP2 using PMK1. Host process roam sync indication for
AP2 and updates "is_spmk_ap" flag for AP2 in the PMK cache table. As
Host has a stale entry for AP2 in the PMK cache table, Host sends AP2’s
PMK (here PMK2) in RSO command which firmware will use for further
roaming but roaming fails due to invalid PMK, as target SPMK AP expects
PMK1 in reassociation request.
To handle these scenarios, FW should send PMK info of roamed AP and
host override stale entry for roamed AP (if any) with roamed AP's PMK
in PMK cache table.
Change-Id: I5e46d16a64aa05469ebc389df9b638351d02a1e0
CRs-Fixed: 3152132
If host invoke roam failed, roam request is freed from vdev when
EV_ROAM_INVOKE_FAIL is handled, can't access it after that.
Change-Id: Ia486a18a6213fce693f85e8f633d343a367ab6e2
CRs-Fixed: 3178286
In GO+SAP Case, SAP starts firstly, GO starts on same band
but different channel. SAP forces SCC check is done in
hdd_hostapd_sap_event_cb in the event handle of eSAP_START_BSS_EVENT.
But at the time the GO's connection entry is not added to
policy mgr list. It is added after WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE
is received by SAP interface manager. SAP can't find the same
band GO's channel at this time.
Fix by move the SAP forces SCC check in SAP interface manager
after WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE event is received.
Change-Id: I54663bdd887e3d591d7fd9ee7ce76572b1ef21f7
CRs-Fixed: 3176076
Allow SAP and P2P GO mode MCC in same band if
wmi_service_dual_beacon_on_single_mac_mcc_support is
supported.
Change-Id: I228916df7166c9eddb829e423222da7803e3c7d2
CRs-Fixed: 3176081
Add Support for four port concurrency support for ML
sta + p2p + p2p. PCL will be same for SAP, P2P GO and
P2P CLI, so only SAP is considered in naming convention
to avoid repetitive handling.
Change-Id: Ie66407fd79f4e7b51271da8146c681dbf303810e
CRs-Fixed: 3177300
PCL for next connection is same in case of existing
concuurency is 3 port with 2 connections (one sta & sap)on
5G MCC or SCC and another STA on 2G. similarly pcl will
be same for 2 connections (one sta & sap)on
2.4G MCC or SCC and another STA on 5G.So, PM_STA_SAP_SCC_5_STA_24_DBS
can be renamed to PM_STA_SAP_24_STA_5_DBS and PM_STA_SAP_SCC_24_STA_5_DBS
to PM_STA_SAP_24_STA_5_DBS to avoid separate handling for SCC/MCC.
Change-Id: I5eeb809d49586b936f214c87defe6c0790d9829c
CRs-Fixed: 3170092
Add PM_SCC_ON_5_CH_5G pcl type to give priority
to SCC 5G followed by rest 5G channels for next
connection.
Change-Id: Ibff48dcd145368d967fb9f39c0118f94897a72a4
CRs-Fixed: 3170031
Optimize the 3 home freq logic in policy manager and rename few
APIs indicating the action they are performing.
Change-Id: Ice92917573537d0717144690a84ea46602984ef2
CRs-Fixed: 3174550
Acquire the policy mgr connection entry lock before
update no_of_active_sessions and call policy_mgr_decr_connection_count
API. Other thread may validate the no_of_active_sessions and
the connection list, so the two operations have to be done
in lock acquired.
Change-Id: Ibf06c7afe869ce4d582f54deae3f15dd789bdf1b
CRs-Fixed: 3175837
It is improper to return false in
policy_mgr_get_roam_enabled_sta_session_id,
which return value recognized as vdev id.
Use WLAN_UMAC_VDEV_ID_MAX instead.
Change-Id: If99f903c9344a99832d8d010deb5b2c35f2622f1
CRs-Fixed: 3172279
Previously elna_bypass is of type bool, which check for
elna_bypass enabled or disabled with en_dis
Change en_dis to elna_mode of enum extlna_mode
to support extra mode of firmware_default
Change-Id: I12dfe3a07e04b102562b11c8235d56bd3e2a7059
CRs-Fixed: 3169266
Replace slave for target, and replace
master for initiator which pair of slave.
Change-Id: I4f758a2149f9314d92cc775d2d665ada0d8c8a43
CRs-Fixed: 3169100
Add 3 home channel check for 4th active vdev. Do not allow
if in DBS and SBS modes 4th freq can lead to 3 home channel.
And optimize 3rd active vdev APIs.
Change-Id: I2d1ef437fc5c69b1255863c85a2b9f4efa24fa58
CRs-Fixed: 3172212
During sta+sta dbs concurrency, if vdev1 sta disconnect, vdev0 sta pcl
isn't updated to firmware to include all band.
Change-Id: I986b85644cf17ad917136adc1ea274ae2d8ed795
CRs-Fixed: 3171216