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
Add a new field max_mcs_index in mlme_legacy_priv to save max mcs
index of current vdev.
Add a new field max_real_mcs_idx in hdd_station_info to save max
mcs index of the connected station.
Change-Id: I28908515cbe5c18c79f14f8645defd5c82e3a6f0
CRs-Fixed: 3065838
Currently driver code has data type as char* for NAN related code.
With this change update this data type as const char*.
Also, move NAN related functions under WLAN_FEATURE_NAN feature flag.
Change-ID: I61ad10304be4399a68f32778d01d9a951d7d14bb
CRs-Fixed: 3169168
Currently host driver creates/deletes NDI interfaces using
vendor command. With the kernel 5.12 version onwards,
interface creation/deletion is not allowed using vendor
commands as it leads to deadlock when driver tries to acquire
the RTNL_LOCK at the time of netdev register/unregister.
With this change, add support to Create and delete NDI interface
using NL80211_CMD_NEW_INTERFACE and NL80211_CMD_DEL_INTERFACE
commands respectively if driver advertises
QCA_WLAN_VENDOR_FEATURE_USE_ADD_DEL_VIRTUAL_INTF_FOR_NDI capability.
Since NL80211_CMD_NEW_INTERFACE and NL80211_CMD_DEL_INTERFACE
already comes with the rtnl lock and driver does not need to
take the rtnl lock again which will help to avoid the above issue.
Change-Id: I6d5441a5e883de1222f105f26d73cb0506d16ddf
CRs-Fixed: 3167125
Currently min_dwell_time_6g ini support is there only for normal
scan.
Added support to configure min_dwell_time_6g in roam offload scan.
Change-Id: I7da5fff738dbaf2a28a909e58ab6c797724ccfaf
CRs-Fixed: 3156597
Currently wmi_roam_event_id event handler only register under feature
WLAN_FEATURE_ROAM_OFFLOAD, but it's needed for LFR2 roaming too. So
refine roam event processing for LFR2/LFR3.
Change-Id: Ic07fd8a543142fc1e151f484979ab99ff55ce802
CRs-Fixed: 3161973
Update PCL type for STA+SAP+P2P 3vif concurrency using
PM_SBS_CH_24G, PM_SCC_ON_5_5G_SCC_ON_24G.
Change-Id: If82f928134e45486114fd6d4a6222e7127d6b9fd
CRs-Fixed: 3168636
Add handling for below pcl types which are added
due to ML STA and 2 P2P connection concurrencies.
PM_SCC_ON_5_5G_24G
PM_SCC_ON_5_5G_SCC_ON_24G
PM_SBS_CH_2G
Change-Id: I62df80c15bcd84ba9cb64cbf6ce2e4d154f6f697
CRs-Fixed: 3167325
Enable 3 SAP SCC on same mac to avoid restart third SAP failed after
5/6G disabled.
Change-Id: Ib95a38daeff97a8cb1e2571b0b271ca052f0ce62
CRs-Fixed: 3144224
Currently, for pcl where 2G channels are added pcl index is
updated to total no. of 2G channels only and first 11 entries
are considered in dump from final pcl list.
Fix is to add total no of 2G channels in pcl index instead of
overwriting pcl index with no. of 2G channels.
Change-Id: Ibcd2509ecb052bfde62a47a6dee38dd17c3d1c8f
CRs-Fixed: 3166961
Optimize logging by decreasing number of log
lines printed for the Tx frame path.
Change-Id: Iff24346a6b20286b68ee18451155495f624da316
CRs-Fixed: 3168409
If AP1 on 2G unsafe channel (no valid 2g channel so can't move),
STA+AP2 on 5G unsafe channel doing SCC, when STA disconnect, 5G AP2
is expected to restart to another 5G safe channel, but 2G AP1 will
also be selected to restart to another 2g safe channel (not in acs
range), which is not supported to switch to different channel at same
time.
To fix this issue, save last disconnected sta channel frequency in
policy manager context, and find the AP which is doing SCC with this
sta, and restart this SAP to safe channel.
To avoid possible OOB write warning, enlarge the input array buffer
of policy_mgr_get_mode_specific_conn_info().
Change-Id: If6ddd889cc0fd8b00796d42e6aa4d1a98b6b1070
CRs-Fixed: 3145226
In special case, tasklet(ksoftirqd/0) that handle WMI event was stuck
for 4 sec, SSR was triggered for timeout waiting for resume
event from FW during RTPM resume.
During SSR, cp_stats_tx_ops->inc_wake_lock_stats callback was cleared,
later WOW_WAKEUP_HOST_EVENTID was received, callback was executed, assert
happened.
Change-Id: Ib9ae7d61d1b415e9857657725ffd2ae1efd4795c
CRs-Fixed: 3165730
Connectivity management frame logs are sent for SAP mode also but
should be sent for STA mode only.
Send connectivity/roaming logs only for station mode.
Change-Id: Ib9ae7824f7eca61fdce4c2c163a24554e7b2eb36
CRs-Fixed: 3165658
As per the requirement, if TWT setup request is issued when
power save is disabled, expectation from driver is to return -EAGAIN.
Change-Id: I7a519d15787f912338afabf7e83b561cb3a2ebc0
CRs-Fixed: 3163880
Current NAN is allowed on passive channels which is not
expected as passive channels does not allow initial
trnsmission.
To address above issue, do not allow NAN on passive
channels.
Change-Id: Ied7ba8eb38feb528209cafa6793aed93456989d6
CRs-Fixed: 3157369
Enable pci gen switch feature by default since the ini will not take
effect unless the feature flag is enabled in FW too.
Change-Id: I4170ddc84e994829e1f8144d3a90deddfe71f280
CRs-Fixed: 3162231
Since HB failed logic change to send deauth, we don't
need probe logic after HB failed. Clean up timer and
unnecessary code.
Change-Id: I26d9235c157065a21469b01abf31751825a1f277
CRs-Fixed: 3158364
Add and Register target if API to process MCC
quota wmi event. Deliver the event to existing
interfaces.
Change-Id: Ib044a336af2f5093dffbb053e65a52a174b85154
CRs-Fixed: 3101870
Generate a Level 2 update frame and send it to the bridge in SAP
mode when a new station connects.
It will update the forwarding table of all the bridge devices
through source port learning.
Change-Id: Ia804968453c051e4c8322d3735506a912c0d963d
CRs-Fixed: 2997409