When WMI_IFACE_LINK_STATS_EVENTID is received, WMA layer should
check FW service bit to confirm if HW db2dbm conversion is
enabled or not, or the final results indicated to HDD layer
will be inaccurate.
Add FW service bit checking to make sure db2dbm conversion is
done by driver when HW doesn't support it.
Change-Id: Id369999e4d5a6805200de82d1e8caf3121582c40
CRs-Fixed: 2506620
It need rx chainmask to select noise floor when start spectral gen3
scan and rx data by DMA. So set rx chainmask before start spectral
scan.
Change-Id: I63efd8f5384537b5697ba809bb05fdd17e243210
CRs-Fixed: 2519366
Populate vdev mlme obj and dest chain with vdev start req for
vdev_mgr_start_send.
Remove vdev_start_params from wma_vdev_start.
Remove vdev_mgr_start_param_populate.
Change-Id: I8606441341344fbcd181facf4000942ff94ac00d
CRs-Fixed: 2516590
Vdev start failure handling in SAP and STA and not handled
properly and thus VDEV SM doesn't move to INIT state and
lead to asserts.
Change-Id: I5ea09f9c6e84a2e1c7f9254319aaa1a11e2f97e8
CRs-Fixed: 2526179
On HST, service bit wmi_service_hw_db2dbm_support is set, need
send target hirssi_upper_bound as RSSI format instead of SNR.
Change-Id: Ie9029e9c26f84456722ca2864a28c7ba3a2be52d
CRs-Fixed: 2485833
Devide wma_add_bss_sta_mode into 4 functions for 4 cases:
1. wma_pre_assoc_req, called before sta assoc, config vdev
params.
2. wma_send_peer_assoc_req, called after sta associated, send
peer assoc cmd to F/W.
3. LFR3 add bss
4. LFR2 add bss and vdev start
Lim will call these functions directly instead of post msg to
wma.
Replace lim_set_link_state with wma_add_bss_peer_sta to create
peer for LFR2 roaming.
Clean up all link state usless code now.
Change-Id: I6ad19bb92e7b0334704ac9c930277e9c35abbee2
CRs-Fixed: 2510119
Switch legacy vdev up to vdev mgr/target if vdev up
Remove wakelock since it is handled in target if.
Clean up legacy vdev up API.
Change-Id: I125b202e9a18ee3bf279fe4df7bc17b9ec7bf999
CRs-Fixed: 2516586
With vdev operations moved to target if from the wma, the vdev
request hold framework is not used.
Thus remove the unused functions and structures
Change-Id: I6e609735ad0bdc8b929cfffa6f13915f0ad6823d
CRs-Fixed: 2523104
Cache the PMF capability of peer in peer_mlme_priv_obj while
adding bss for both station and AP modes. Process the mgmt frames
received from the peer as rmf frames only if the peer is of PMF
capable.
Move mlme_peer_object creation and deletion out of the define
CRYPTO_SET_KEY_CONVERGED to make it generic.
Remove the check where WEP bit is validated and modified based on
PMF capability of the peer. This is already taken care while
setting WEP bit in lim.
Change-Id: I0c93bb25db6a866e4c1793c9ba4c60773c0f019d
CRs-Fixed: 2520249
Vdev start req timeout is moved to target if.
Req msg type can be got from vdev mlme instead of wma rsp queue
in vdev start rsp handler.
Set bss params into vdev mlme priv when start vdev with add bss.
then can get bss params from vdev mlme priv when handle start
vdev add bss rsp.
Free hidden ssid vdev req after vdev restart return, don't need
it when handle rsp.
Change-Id: I956fc5a9164d5961513dfa922aee27af28483807
CRs-Fixed: 2516587
As a part of vdev convergence, legacy vdev code for vdev delete/stop/
down is removed. WMA timer for vdev manager operations are deleted,
now target_if takes care of it.
Structure del_bss_params is no more used to store bss delete request
params, hence struct del_bss_params is cleaned up from legacy code.
Change-Id: I487d2683908b705176ff8064dd3ce7cd49a3ce47
CRs-Fixed: 2517880
Add support to advertise the VHT MCS 10&11 support using vendor
specific IE to enable the MCS 10 and 11 support in VHT mode.
Change-Id: I2d197dcce20ab4aec617ca8a7f4a54b438fae635
CRs-Fixed: 2465662
In legacy code WLAN_LEGACY_WMA_ID reference was released after
sending vdev delete command to firmware. Now with converged vdev
manager, if wmi service "wmi_service_sync_delete_cmds" is not enabled
then vdev delete response is sent to upper layer through target_if.
Hence WLAN_LEGACY_WMA_ID reference for vdev is released before sending
vdev delete command and then wma_txrx_node for the vdev is cleaned up.
Change-Id: I717a7911a5139dc5145e7702e831f6f026c8f3aa
CRs-Fixed: 2518231
As a part of 802.11ax amendment, 6GHz band operation is added.
Since the 6 GHz channel numbers are overlapping with existing 2.4GHz
and 5GHz channel numbers, use frequency to identify unique channel
operation instead of channel number. Channel frequency is unique across
bands.
As a part of above requirement, in the existing WMI interface handlers
and related functions, wherever missing, add frequency attributes to
identify unique channel operation.
Change-Id: I3853d6e64e63eb219282afac4f56ccf398b0a04f
CRs-Fixed: 2517897
Before sending vdev delete command to target_if layer, attach vdev
delete params to wma_txrx_node's del_staself_req member in wma layer.
This helps while responding to vdev delete command in case wmi service
"wmi_service_sync_delete_cmds" is disabled.
VDEV delete command response is sent to upper layer even vdev_mlme
object is not found.
Change-Id: Idfd8b036ff1ea676dd3ad8be703512ff84f299b7
CRs-Fixed: 2510460
Configuration for Issue:-
DUT configuration:-
1. Configure DUT's country as US where channel 165 does
not support channel bandwidth of 40 mhz.
AP Configuration:-
1 Configure the AP in a country where channel 165
supports channel bandwidth 40MHZ.
Scenario of the issue:-
1.Connect to a diff AP on some channel x with same SSID,
and then roam to this AP.
Observation:-
The DUT would connect in 40 mhz to this AP instead of 20Mhz,
which violates the DUT's country reg rules.
Expectation:-
The DUT should re-connect only in 20Mhz on channel 165, or
only in max BW supported by reg in that country.
Issue:-
The DUT does not consider the max bandwidth allowed for the channel
in the country configured, and allow the re-association only
in the respective bandwidth.
Fix:-
Send the max BW supported by the channels in the current
reg domain to the FW so that it considers the max BW of the
channel and AP capability and then roam in the respective BW
only.
Change-Id: I1730d6c65d3dd305dcf2ebe340c3d5ad950761d7
CRs-Fixed: 2504900
Reduce the log level from err or info to debug so that logs
are not printed on console.
Change-Id: I0d33c2a8f5b4bb4974656ac0d1eb6713a74cb5f4
CRs-Fixed: 2516281
As part of RSO update config, roam scan mode is set to 4 before
the WMI_ROAM_SCAN_RSSI_THRESHOLD command is sent to the firmware.
And after WMI_ROAM_SCAN_RSSI_THRESHOLD is sent, the roam scan
mode value is again set back to 7(value 7 enables RSSI scan and
periodic scan). There is a very small window between these two
commands where BMISS event is received and firmware forwards it
to the host which causes a disconnection.
Fix is to disable sending roam scan mode to 4 before sending the
WMI_ROAM_SCAN_RSSI_THRESHOLD command.
Change-Id: I2c22308d711e71e67d132a0bd121aed66497998b
CRs-Fixed: 2508762
Currently Host issue a disconnect and cleanup for current AP,
even if the offloaded roaming feature has started, but has not
completed for some reason. This results in connection loss with
the current AP.
Fix is to call abort event SIR_ROAMING_ABORT in case of roaming
offload timeout in order to maintain the connection with the
current AP.
Change-Id: I4168f8aeb7a759896a5d93e1918ce6542e61b37e
CRs-Fixed: 2508449
WMA interface PMF capability is vdev configuration hence do not
update the capability in WMA interface based on peer capability.
Change-Id: I08b39b9bc631321aa77aa1ab3bcbf1841bb3dda1
CRs-Fixed: 2504060
As part of vdev target if convergence the new vdev command
resp time are defined in target if layer.
So use the vdev timer values from target if.
Change-Id: Ib74f91331e4cb470233e678ded9159e17045467e
CRs-fixed: 2513794
Topic: 6ghz_chan_to_freq
Convert channel to freq in tpAddBssParams and wma_vdev_start_req
structure to avoid duplicate channel numbers in 6ghz, and 2.4ghz
operation.
Change-Id: I8f657a566d1555efa07bf9155b84c37431c57f86
Crs-Fixed: 2511312
Userspace can configure different roam triggers as defined
in qca_vendor_roam_triggers through the roam subcmd
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET and the
attribute QCA_ATTR_ROAM_CONTROL_TRIGGERS. Send the roam trigger
bitmap to firmware
Change-Id: I692110a2ae1ee5a35bb248b9138080a7dfb02cf6
CRs-Fixed: 2508776
Userspace can update the full scan period through the roam subcmd
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET and the attribute
QCA_ATTR_ROAM_CONTROL_FULL_SCAN_PERIOD. Send the same to firmware
as part of roam scan offload command
Change-Id: I7c1046763d693faa3340b655848d3306ef92e06c
CRs-Fixed: 2508775
Force set peer's phymode to the phymode of current interface if first
one big then second one, then TDLS link can't select more better
phymode when DUT support VHT mode and connect to 11A mode AP.
Change-Id: Idc72e04dcdf7ead3b52effc2c06862bc9dddd732
CRs-Fixed: 2512622
Set hidden_ssid when restart sap on another channel, currently tested 2
methods to restart sap on another channel: 1, force-scc switch to station
channel; 2, iwpriv wlan1 setChanChange x. Both of them run into error
state: with hidden_ssid set in hostapd.conf: ignore_broadcast_ssid=1,
after channel switch, APUT reply broadcast probe request with it's SSID.
Copy pe session parameter: ssidHidden which stored user setting to next
channel vdev start.
Change-Id: I56580529e2b0db673c6b28c75094a7fd225cba77
CRs-Fixed: 2506214
Unused members of delete bss params structure are removed
and structure is re-framed.
Change-Id: Ib2e7c72e0636765341792a79aa12968a84ed4879
CRs-Fixed: 2512877
Legacy code releases vdev start wakelock after vdev down
command sent to firmware to overcome race condition. Target_if
common code takes care for wakelocks.
Hence, do not release start wakelock in legacy code.
Change-Id: I550ffb17e2e29f3b0bad618dc9ef9463a94800aa
CRs-Fixed: 2512151
Refactor vdev stop and down code to target_if common code.
Remove legacy code for vdev stop and down.
Change-Id: I4ab0743d39a3b37816ab9f18e8850cadf1335c15
CRs-Fixed: 2506649
In "Change-Id: I2896f7704ffb809214c5b08756c4b8673307fd9e", parameter
type of hif_get_hal_handle changed from void to hif_opaque_softc,
which cause compilation failure in wma_init_dbr_params.
Change-Id: Idbb591bb1ea1507661882fe48b18eaaffcac164d
CRs-Fixed: 2504894
There is only vdev start, stop, and set-key wakelocks for system suspend
as of now. Add vdev start, stop, and set-key wakelocks for runtime PM
also.
Change-Id: Ic071bcfb112ae8861a446298677d190484f0c01b
CRs-Fixed: 2507852
Convert channel to freq in vdev start structure to
avoid duplicate channel numbers in 6ghz, and 2.4ghz
operation.
Change-Id: Ie78d93a34d1d558b9c94fc8a54aa95ee07bda55e
CRs-Fixed: 2508040
Currently the host driver blocks roam scan offload command to
the target if the connected akm is OWE or SAE.
Add changes to read the WMI_SERVICE_WPA3_SAE_ROAM_SUPPORT and
WMI_SERVICE_WPA3_OWE_ROAM_SUPPORT service capability advertised
by the target and set it to the mlme fw_akm_bitmap. Read this
bitmap in csr_roam_offload_scan() to allow RSO command.
Also the connected akm is sent to the target via the
WMI_AP_PROFILE command. Translate the CSR akm type for OWE and
SAE akm also.
Change-Id: I68527722ab099e0c8e1681ed64ea416b9a6e9936
CRs-Fixed: 2491021
For WPA3 SAE LFR-3.0 roaming, authentication is offloaded to the
wpa_supplicant via the host driver due to the target crypto
inavailability limitations. The target does candidate selection
and sends the WMI_ROAM_PREAUTH_START_CMDID to the driver.
Once the SAE authentication is done, the supplicant sends the
external auth NL command with the authentication status, PMKID
derived. On receiving this event, send the PMKID, bssid, auth
status to the target over WMI_ROAM_PREAUTH_STATUS_CMDID command.
The host driver decides if the external authentication event is
received for preauth candidate or for initial connection by
checking the connected state information of the csr session.
When the authentication fails with the first candidate, the
target triggers the preauth start for the next candidate. This
happens till there are no candidates available to roam.
There could be a situation where the firmware sends preauth
event for candidate1 and before the supplicant could send the
external auth command to the host driver, the candidate1 preauth
timer could have expired and firmware sends the preauth start for
second candidate. After SAE is done with second candidate also,
the supplicant sends external auth event for second candidate. So
in this situation the firmware should decide to choose the
latest candidate. The host driver here is a mere passthrough and
doesn't maintain timer for the preauth event for each BSSID to
drop the expired candidate preauth events.
Change-Id: I799a05e55a59677dfc2ddf5b55ebc888ccfea03e
CRs-Fixed: 2507003
The Linux Coding Style frowns upon mixed-case names so rename
identifier tpAddBssParams to be compliant.
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tAddBssParams typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a properly named struct.
Change-Id: Icf7fe19cfe6eb6fbac5689e3b5474d38c520b311
CRs-Fixed: 2506539
Firmware offloads WPA3 SAE authentication to host due to the
crypto library availability limitation. Once the roam candidate
selection is done in the firmware, firmware sends the
WMI_ROAM_PREAUTH_START_EVENTID. Once this event is received, the
host driver triggers the SAE.
Add support to offload the SAE authentication from firmware to
wpa_supplicant.
Change-Id: Ie3a9e731194e1edfcd9f33ef0d601767b9485d46
CRs-Fixed: 2490201
Create bss peer in lim_process_mlm_post_join_suspend_link
when sta connect, don't need pose message to wma queue.
Change-Id: I23325c9d41b68f67ea9903008521f026e46395c4
CRs-Fixed: 2505558
Currently driver passes sta_id through out the call for getting the TSM
stats. Although passed, the sta_id is not used anywhere in the call
stack. As part of removing the sta_id usage, this sta_id can also be
removed safely.
Remove the usage of sta_id in get TSM stats path.
Change-Id: I1efbb1bfdc8df84e9b6a71dcd5bd39ea93ced21a
CRs-Fixed: 2484701
Currently driver passes sta_id through out the call for getting the SNR
stats. Although passed, the sta_id is not used anywhere in the call
stack. As part of removing the sta_id usage, this sta_id can also be
removed safely.
Remove the usage of sta_id in get SNR stats path.
Change-Id: I39482d8f6d8e3bd32e940a85d5592dada8f0460b
CRs-Fixed: 2503956
Fix the compilation issues passing proper parameter to the function
wmi_unified_thermal_mitigation_param_cmd_send.
CRs-Fixed: 2501080
Change-Id: I9ce0038ef2844536612f0bf71314dbc214f354d9