The mandatory channel policy was created for STA + SAP 2 vdev concurrency
case. For MLO STA (2+5/6) + SAP 3 vdev concurrency case, use general
force SCC logic until the requirement is updated in this case.
Change-Id: Ifca16824d53f272adc5b6ff763c1b4cc08af6a2f
CRs-Fixed: 3347722
The kernel-doc script identified documentation issues in the hdd
layer, so fix the ones in the "inc" folder.
Change-Id: I0fda8ea1ce929ad5e0cc54f86a9de5a46b3f7d38
CRs-Fixed: 3346527
Rename wlan_hdd_cfg80211_spectral_scam_get_config() to replace
incorrect term "scam" with "scan". In addition, clean up existing
documentation issues.
Change-Id: I1d7f11e274bcb0e1e09e8292b75554d256a5c6fd
CRs-Fixed: 3344908
The kernel-doc script identified documentation issues in the hdd
layer, so fix the ones in the "src" folder.
Change-Id: I20307c4c7e02163a13a79dfd4fcf8fc734a4b230
CRs-Fixed: 3343791
The kernel-doc script identified a large number of documentation
issues in lim_session.h, so fix them.
Note that many members of struct pe_session did not have existing
documentation, so for now these just have the tags. Hopefully these
can be updated to add proper documentation in the future.
Change-Id: I2053b87b62fa992e654e292b534a9a12d4e6d767
CRs-Fixed: 3346625
When same NAN commands are issued back to back, serialization
module rejects the commands when there is a command present
in the pending queue. But the memory allocated for the NAN buffer
is not freed in such failure cases.
Free the NAN buffer in such failure cases to avoid memleaks.
Change-Id: I1d1f9c077d4b6239f4400d9b3ed185e63e471b56
CRs-Fixed: 3341229
To avoid assignment before null check for vdev.
First check null vdev and then assign operational
mode value.
Change-Id: Ifbff1f79f04d51dddf6a6c1aec27793389516045
CRs-Fixed: 3340858
The uninitialized peer might be used directly if device mode is SAP mode
and the link_vdev is not mlo vdev in the wlan_hdd_add_key_all_mlo_vdev.
Init the peer to NULL before checking the each link_vdev to address this
potential issue.
Change-Id: Ifbf2b68a030fada8a2a1b1cacf5d2a6ef703befe
CRs-Fixed: 3344320
Currently, if SR (Spatial Reuse) is supported by AP and then
STA roams to another AP then host needs to parse SR IE and
send events to userspace and commands to Fw based on below
scenarios:
i.) Roamed AP doesn't support SR: If roamed AP doesn't support
SR then async event with SR disable is required to be sent to
userspace.
ii.) Roamed AP supports SR: If roamed AP supports SR then below
validations are required.
a.) existing thresholds are in range of roamed AP: Send SR enable
command to FW with previous thresholds , as FW disables SR during
roaming.
b.) existing thresholds are not in range of roamed AP: then decision
will be based on whether threshold is provided during SR enable command
or not. If threshold is provided along with SR enable command then send
disable to userspace and in other case update thresholds as per roamed
AP , send async event to userspace with new configured values and send
enable command to fw with new thresholds.
Change-Id: I0c39de349c0f723d49d510c6e8ba09dcb98c6d17
CRs-Fixed: 3316985
Fix 'defined but not used' compile issue for some
sysfs functions if CONFIG_WLAN_SYSFS not set.
Change-Id: If067afe95ae98355e92a5b914bdce34b3c7c2342
CRs-Fixed: 3345060
Potential NULL pointer dereference of wma pointer in
wma_pasn_peer_delete_all_complete() API.
Add validation of wma pointer before passing it to the
wma_resume_vdev_delete() API.
Change-Id: I9ccb7baa0dba4cb6bbb4a16fd90ee7e2aafde1c5
CRs-Fixed: 3340866
Add edca_param_type ini to configure edca or pifs param for
LL SAP.
If edca_param_type is 0 then set edca param or
if edca_param_type is 1 then set pifs param.
Based on this ini, host configures either edca or pifs param
and send it to firmware and earbud via OTA frames.
Change-Id: I46a5efea4f516b145d04d8b8ad79c5d47ceb7f89
CRs-Fixed: 3344875
Currently, the driver uses the current capability to check
if it supports 40 MHz instead of self-cap, so once it
switches to 20 MHz it cannot switch back to 40 MHz again.
To fix check self capability to determine if the bandwidth
switch can be allowed in HT-only mode.
Change-Id: I4bfe893d1c745c82d96d763f92a635d1f6d7d8ce
CRs-Fixed: 3341954
Update the regulatory info to cfg80211 as well
if some channel information to be changed
by QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT.
Change-Id: Ie485e9e2a57a04921e32d5f029b3c9535970186f
CRs-Fixed: 3335527
The length calculations in __wlan_hdd_cfg80211_get_wifi_info() are
not accounting for netlink attribute padding.
To fix it, use nla_total_size() to determine the size for attribute.
Change-Id: Ia6a632d32c59af0fac30f19e38f23b2955a0f8f6
CRs-Fixed: 3345051
When dual sta connected as SBS mode instead of dbs mode, driver didn't set
pcl per vdev, so dual sta had same PCL in firmware, MCC may happened after
roaming.
Fix:
1. Host pass roaming MCC disallow flag to F/W by checking primary vdev id.
2. For platform SBS supported, when doing dbs or sbs, send PCL from table
to F/W directly, allow SCC and SBS<->DBS roaming, don't limit to intra
band, only avoid mcc case if no primary vdev.
3. Use policy_mgr_concurrent_sta_on_different_mac to replace
policy_mgr_concurrent_sta_doing_dbs, add logic to consider SBS when set
PCL to F/W.
4. Change dual sta PCL table to remove mcc channels.
5. When STA channel switch, also update PCL to F/W.
6. For roaming case, do vdev level PCL update for all sta after connection
update in policy mgr, or wrong PCL is got.
Change-Id: I631c84c96da2bba4011b69e4c076db174205c874
CRs-Fixed: 3336768
When the SSR and interface down happen in parallel,
the driver rejects the interface down since the
recovery is in progress. Kernel ignores the -EAGAIN
request from the driver and as part of NET_DOWN notification
in cfg80211_netdown_notifer the kernel invokes the
___cfg80211_scan_done to free the scan request.
As part of the driver recovery, the driver also tries to
invoke the scan done on the scan request which is already freed
by kernel resulting in invalid access, so check the driver state
and send the scan done indication to kernel.
Change-Id: I7aa9286e32c407af88fe7be301b825506140d5a3
CRs-Fixed: 3345420
While SAP doing CSA, NAN enabled, SAP tries to do CSA to force SCC with
NAN in scheduler thread, since last CSA in progress, scheduler thread is
blocked to wait last CSA finished, CSA timer can't be handled in scheduler
thread any more, last CSA can't finish, deadlock happens until timeout.
To fix it, let SAP force scc with NAN logic run in work thread instead of
scheduler thread.
Change-Id: Icb774ffcfc70f279ba3b18b3c5cd4a169180e99b
CRs-Fixed: 3344905
In current design of sta+sap scc on indoor channels, the NO_IR
flag of all the indoor channels are removed during init.
Then, based on the operations on the SAP interface, the
SAP concurrency will be decided in host driver.
However, some userspace p2p applications, do not query the
pcl list from driver, therefore standalone P2P GO are sometimes
brought up in indoor channels.
To fix this:
1. Upon STA connect: Remove the NO_IR flags only from the
indoor channels to which the STA is connected.
2. Upon STA disconnect: Add the NO_IR flag back to the
disconnected channel.
3. Upon STA roam/csa:
a) Add the NO_IR to the new channel if it is indoor.
b) Remove the NO_IR of the previously connected channel
once the SAP/GO(if present) moves out of the indoor channel.
4. The NO_IR flags should be removed for all the bonded channels
on which the STA is active.
5. In indoor concurrency cases, add logic in the SAP start to
limit the channel width with the STA interface bandwidth. Since,
only the bonded channels are active channels.
Change-Id: Ib0b30e1f17d0eb944c72b26bb679bf7447b9032f
CRs-Fixed: 3296208
The kernel-doc script identified documentation issues in the os_if
layer, so fix them.
Change-Id: I71dd7893776e4b49a80f6be186740967b08d3347
CRs-Fixed: 3341451
Refactor the opportunistic timer stop code in the hdd_vdev_destroy()
and move it to a new API.
Change-Id: I27d80897fab6a8f6efacb300ce5cc86c53eccf93
CRs-Fixed: 3306902
User can configure roam hand-off delay value using the new vendor
attribute introduced as part roam vendor command.
This change gets the configured value and sends it to firmware.
And firmware delays the roam Hand-off (in msec) by the specified
duration to receive pending RX frames from the current BSS.
Change-Id: Ic328c077cba06532ee8ffed12cde072c816b92e0
CRs-Fixed: 3329964
Pcl len is always 0 if existing interface is not LL SAP.
As part of fix, return original pcl len if LL SAP is not present.
Change-Id: I51b308483364f40da03f6f9f4daea1a1f3b72019
CRs-Fixed: 3342540
Add PLD API to check whether direct_link is supported
by FW or not. Call platform driver API to get direct_link
support from FW capability.
Change-Id: Iac16427a853a3548dd49ece7a2839792e7c87e84
CRs-Fixed: 3335266
If scan is on going the target will delay the set mac address
until the scan is finished. That delay the set mac address
significantly if ROC request is on going and ROC duration is big.
Fix by cancel the scan before set mac address
Change-Id: I440bcfbc3b9699ab42d4304535cc2d86d702d21d
CRs-Fixed: 3332824
Add edca_pifs_param attribute in QCN ie. This attribute will
be use to configure edca and pifs param for XPAN.
Change-Id: Iab16c36fbdb2f66afb6c1cebee10b43d64aec4a6
CRs-Fixed: 3334861
In wlan_hdd_cm_handle_sap_sta_dfs_conc() the filter ssid length compares
against QDF_MAC_ADDR_SIZE(6), should be WLAN_SSID_MAX_LEN(32).
And if requested ssid length is greater than WLAN_SSID_MAX_LEN, filter
of ssid should clear.
Change-Id: Id4667ec7098f1f6b2ef662cab77e06b8eefecfcb
CRs-Fixed: 3324453