According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD
Change-Id: Ia5a5e62b3fe086c3fab58d92d12898f525f774b8
CRs-Fixed: 2631242
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement, add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_ENCRYPTION_TEST
Change-Id: I37836165dc8ff89f7179d5024cc3b1516cacf6e6
CRs-Fixed: 2633303
The function hdd_softap_deregister_sta takes the sta_info as the
argument and calls hdd_sta_info_detach. In hdd_sta_info_detach, the
memory assigned to the sta_info is being freed. For this memory to be
properly freed and set to NULL, the actual memory location must be
passed to the function; which is currently not happening.
Pass the actual memory location by reference using a double pointer so
that the memory cleanup is proper.
Change-Id: If0f846957df0378ea7a13b76bdf9c6ef562ed90e
CRs-Fixed: 2627296
Currently the ssid received in the beacon report request is not
printed when beacon report is received from AP in the kmsg.
Fix to print the SSID if its present in the beacon report
request.
Change-Id: Ide4659e955dec756f60b0508eb3be529c43601b3
CRs-Fixed: 2632653
Glitches seen after the STA disconnection because of the roam scan
triggered on a heartbeat failure ( beacon miss ).STA does a partial
scan followed by full scan causing the DUT to go off-channel from
the STA and P2P home channel, causing the music BLIP.
Fix is to disable roaming irrespective of data traffic present
or not on P2P interface and enabled again once P2P is disconnected.
Change-Id: I5ddf946adbfbe99d5b20c23c46b2b4ac0bfac47f
CRs-Fixed: 2632939
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_MPTA_HELPER_CONFIG
Change-Id: Id83ee15ec7eb43103e44505f44fb9ff48cb23f74
CRs-Fixed: 2634109
In SAP mode, as part of dhcp inspection, sta info is fetched
using the source address of the packet irrespective of
direction. This results in sta info fetch failure in case
of dhcp tx frames where source address is self mac address
which is not registered as part of SAP start. Due to this,
when sending dhcp ack frame, tx comp flag is not set in nbuf
cb causing dhcp stop ind to be not sent to firmware.
Fix is to use dhcp client mac address to fetch sta info.
Change-Id: Ia61b93d24f3d069b40fe8ffa5ee7b6ba1e30e7c5
CRs-Fixed: 2632275
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_COEX_CONFIG
Change-Id: I865ec470e1b24d1e4c5094648435ea7020a01af8
CRs-Fixed: 2634095
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION
Change-Id: I91a97a17fa27f93f20385a250f098d5b01081023
CRs-Fixed: 2634072
In WEP SAP mode, the ping between SAP and client is failed
because in the SAP side the firmware has no unicast key
for peer mac address. The default address in key context is
SAP bssid.
Update the peer mac address before set key to firmware for
the WEP peer.
Change-Id: Ia5ba4612d0cc0f9900c72baf1c37bd278b526389
CRs-Fixed: 2599289
11K test bed sends beacon report request for channel 48 with
invalid reg class 0 to DUT. So, driver gets chan_freq 0 by API
wlan_reg_chan_opclass_to_freq because of reg class 0.
To get correct channel freq for beacon report request, use new
API wlan_reg_country_chan_opclass_to_freq to
get freq from country operating class table firstly by (opclass,
channel number) pair. When the lookup is failed, the API will
try to look up by chan number only.
Change-Id: I5b56804c20d6fade17b2acaa0f7c261feebd6370
CRs-Fixed: 2603989
Currently no stats were printed related to ARP and DNS frames at STA
after initial association or after roaming complete.
To print these logs, add INI configuration and a periodic timer to
print ARP and DNS stats after initial association or after roaming
complete. This is an optional feature controlled by
'WLAN_FEATURE_PERIODIC_STA_STATS' flag.
Change-Id: I373632cc35584728c5b556bb28eda1077d51fd9b
CRs-Fixed: 2619383
User get BSS stats for the command response of GETBSSINFO. Driver saves
BSS info of the connected AP in HDD's station context. For every
association completion, driver updates BSS info stats.
In LFR3 roaming, Roam sync state in the CSR layer is set to 1 if STA
associates with new AP because of roaming. Thus for LFR3 roaming, driver
uses roam sync state to update roam count while processing association
completion.
Change-Id: Ia75f4c7b049a0546b2922d890cb3c12f6f4513a2
CRs-Fixed: 2632421
If the idle restart is not stopped before reading the driver status
the driver status could be changed in the other thread leading to
different issues.
Stop the idle restart timer before reading the driver status, so
the next action depending on the driver status can be taken correctly.
Change-Id: Ida7fe3fe8144e300344d29cae8188b64f074b3bb
CRs-Fixed: 2626500
Introduce ini for roaming_triggers to enable/disable specific
roaming triggers. This will be the master ini to control roaming
triggers. If this ini is set to zero, roaming will not be enabled
on the sta interface unless its enabled via vendor command.
A new roaming trigger - Sta kickout roaming is introduced in
firmware, include this bit support also in the ini.
The value of this ini will be sent over the wmi command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID during RSO start.
Reset this value to 0 during RSO stop if RSO stop is due to
disconnect or roam synch failure.
Change-Id: I02f207cdde9d8fb68cd91fab07572baa9e7ac50d
CRs-Fixed: 2631712
Currently, if roaming happens roam reason is not sent to AP. AP will
not able to know why roaming happened. As roaming is offloaded to
firmware, firmware will include roam reason vsie based on driver
indication by vdev param
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE based on
below conditions:
Parse the QCA attribute CONFIG_ROAM_REASON to control
inclusion/exculsion of roam reason vsie dynamically. Vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION can control roam
reason vsie inclusion using QCA atrribute CONFIG_ROAM_REASON.
Different operations required to implement this feature can be
specified in QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON, so driver parses
CONFIG_ROAM_REASON, updates enable_roam_reason_vsie and indicates to
firmware by updating vdev param.
a.) If Userspace wants the firmware to include roam reason in reassoc
frame, it can send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with
value 1 and driver will update enable_roam_reason_vsie to 1.
Driver will update vdev parameter
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE, so that firmware
can include roam reason vsie in reassoc frame during roaming.
b.) If this command is not issued, the default behavior of the
firmware is not to include err reason code in beacon report
response. Driver will send default value of
enable_roam_reason_vsie to firmware which is 0.
c.) The userspace requests the firmware to stop roam reason vsie
reporting when roam reason is not required for AP anymore. If
userspace doesn't want the roam reason inclusion, userspace can
send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with value 0 and
driver will update enable_roam_reason_vsie and notify firmware to
exclude roam reason.
If userspace requests the driver to get the status of
enable_roam_reason_vsie , to check whether firmware includes roam
reason vsie or not, driver will fill CONFIG_ROAM_REASON attribute and
will update to userspace.
Change-Id: I063c822e99fd6908bd4188b429ffa6a2031cee5d
CRs-Fixed: 2624713
In roaming when preparing pAddBssParams in lim_ft_prepare_add_bss_req,
it should update he cap like lim_sta_send_add_bss_pre_assoc, otherwise
wma_set_bss_rate_flags_he can't be triggered.
Change-Id: I0fe4f7f6e4db076e3e79e6bd81257e44ec3ae682
CRs-Fixed: 2628459
For FILS connection with FILS auth algo, the keys are derived
at the driver and set key is done in the join response path.
In this path, if the security profile is not WEP, set key is
not done. So for FILS case set broadcast keys returns failure
and unicast keys are also not set.
Check the add_key flag also before returning error in set-keys.
Also store the keys in crypto component so that it can be used
at target-if layer to send the unicast/broadcast keys to firmware.
Change-Id: Ia0feb0c9d213ffe50e42b3e67b7074b19898918e
CRs-Fixed: 2625992
When dynamic channel switch is enabled, trigger acs and switch to best
channel if wlan interference is found in 5g mac.
Change-Id: I56661f5c42a233a0dc0a6400d75cb8f5c0019706
CRs-Fixed: 2599176
Peer assoc cmd always carry er_su_disable with value 0 through
peer_he_ops, it's wrong. When er_su_disable set with value 1
from ref-ap assoc rsp cmd, sta's er_su_disable with peer assoc
cmd should also follow with ref-ap's er_su_disable setting.
Fix is to set er_su_disable from he_op of tpAddStaParams.
Change-Id: Id96f2865ec1ff953478b9519928fe3c766c96e99
CRs-Fixed: 2625546