Currently there is no provision to configure OCL mode in FW during
driver bootup.
To enable this configuration add a new INI configuration parameter
gOclCfg.
Change-Id: I87c9131f5395c394f745e0170f0d9b3d1571d030
CRs-Fixed: 2644312
In peer assoc the 40MHz flag is set if HT is enabled and bandwidth
is 40MHz which fails the 40MHz setting for 6GHz connection as HT
is not supported in 6GHz band.
Remove the HT check for 40MHz flag setting in peer assoc.
Change-Id: I2a34dd6fbbca50912952f532e8b485148bf3c3a2
CRs-Fixed: 2649524
With the introduction of 6GHz channels, some of the channel
frequency checking code have to be refined to make sure
all non-2.4GHz channel frequencies are identified by
!WLAN_REG_IS_24GHZ_CH_FREQ().
Change the channel frequency identifying code within the
following functions according to the above guideline:
wlan_hdd_cfg80211_start_acs()
hdd_cfg80211_update_acs_config()
hdd_get_sap_operating_band()
hdd_update_acs_sap_config()
wlan_hdd_sap_p2p_11ac_overrides()
wlan_hdd_cfg80211_start_bss()
wma_send_pdev_set_pcl_cmd()
Change-Id: I6dfb8b4e43a7f632255fb89552490ce404874998
CRs-Fixed: 2648176
When multiple measurement requests are received in a single beacon
report request, multiple iterative scans are triggered for each
request for the frequency list provided in the request. This results
in free of rrm context global frequency list by the second
request rrm scan in the iter measurement timer start failure path
and was accessed by the scan done callback of the 1st measurement
request.
Add null check for rrm context frequency list and also if the
timer is already running, send measurement done indication for
that request.
Change-Id: I149ba47872095228595cd52535fb76c422eefba7
CRs-Fixed: 2648618
As a part of requirement, there are new hang reasong codes added to the
qdf_hang_reason. Use those reason codes to trigger recovery at the
respective scenarios.
Change-Id: I4718012673ca206cb2f1112471f2b0d70caa6452
CRs-Fixed: 2630952
HE 6GHz band capabilities are copied from wrong byte offset hence
incorrect capabilities are configured to FW.
Fix the 6GHz band capability offset and size values while
configuring it to FW.
Change-Id: I0cc97610e32f3e5fbd64c6ed72d3591ae5127471
CRs-Fixed: 2645844
Add pointer mlme_obj NULL check before use in wma_vdev_start_resp_handler,
if NULL, return error directly.
Change-Id: If5826f6542786c136ad5f807adca578f36ab4919
CRs-Fixed: 2642567
If FEATURE_BLACKLIST_MGR is enabled,
wlan_blm_get_rssi_blacklist_threshold()
would return CFG_BLACKLIST_RSSI_THRESHOLD value
else return value 0.
Change-Id: I0cf5a6561cc217412e3bc6e2a50b85985d1315d7
CRs-Fixed: 2648761
Currently QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST aren't aligned with
NUM_CHANNELS, these unalignment may cause some potential OOB access.
So replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
to keep unified.
Change-Id: Ib6c81a3979f2fd29ba1ec678f018a6704b599385
CRs-Fixed: 2644066
Handle send delba indication from DP. It will help DP to
do aggregation tid management.
Change-Id: I18455107ef8d042644efc8ce549a104612eec05c
CRs-Fixed: 2637485
Add host driver support for MCS 12/13, a Q-Q PHY feature.
The following changes are being introduced as a part of this
- Advertisement of the MCS 12/13 using the QCN IE
- Interaction between the Host and the FW regarding the target and
peer capabilities for the new features introduced.
- The new data structures and variables to populate and use the feature
capability
- Routines to add and parse the IE.
Change-Id: I2b91a271d30b1230ef7bb14ee08d0b9da2706db4
CRs-Fixed: 2610277
Spectral scan and CFR components failed in pdev open since no valid
wmi handle in pdev. This change sets wmi handle to pdev before calling
dispatcher pdev open in hdd layer.
Change-Id: I9461220b309f78e33770e423e24c97841b064a0f
CRs-Fixed: 2637140
Handle vdev stop req failure and delete BSS peer and move the
VDEV SM to init state.
Change-Id: I48044d153a281aedfeeb90bc97c9772dea0ca284
CRs-Fixed: 2644218
When AP rejects assoc request based on poor rssi
host will put the AP in blacklist mgr list, only when
rssi value improves by threshold value,should the
STA try to connect to AP.
Change-Id: I78009b89ea07afdd5f3381973a9eb7ec1f73d1b5
CRs-Fixed: 2632015
PMF capability information is not available in NAN peer station
data structure as host does not get full capability information
of NAN peer hence WEP bit is not set in addba response frame for
received addba request frames with WEP set.
Set the WEP bit in addba response frame if the received addba request
frame has WEP bit and it is from NAN peer station.
Change-Id: I9f0a02492b3087d0fd53a7bdde273601913ee2ca
CRs-Fixed: 2638789
Host uses target_resource_config structure's "nan_separate_iface_support"
while copying resource configs in WMI_INIT_CMD.
Value of "nan_separate_iface_support" is set to 1, if firmware capability
"vdev creation allowed = 1" and "ini gEnableNanSupport = 1".
Host updates "nan_separate_iface_support" while processing an event
"WMI_READY_EVENTID" which comes after WMI_INIT_CMD send to firmware.
To update proper value of "nan_separate_iface_support" in resource
configs of WMI_INIT_CMD, host updates "nan_separate_iface_support"
while processing an event "WMI_SERVICE_READY_EXT_EVENTID".
Change-Id: I677d9e39e20646dd4ce945f166b86947d82751e2
CRs-Fixed: 2642139
Currently in the driver there are places from where recovery is
initiated. Some of those are not required as logic around them has
changed.
Remove those cds_trigger_recovery from places where it is not needed.
Change-Id: Ia5a0fa60101e1c9f44077daa83c4a20d18893c0a
CRs-Fixed: 2628691
In vdev start response handler, if vdev start success, copy
desire channel to bss channel for all mode: STA, AP, IBSS etc.
Change-Id: Ie0767952bc3831235adcece5ba59ad0f32ee76fe
CRs-Fixed: 2640898
Presently vdev delete is sent to firmware 1st and the object manager
vdev delete is deleted after all the references are released.
With this change the vdev delete is sent to firmware when all the
references are released and the vdev delete is sent to firmware via
the object manager vdev delete notification.
Change-Id: I67bea0d2b2a0d2d9eb4602e5d0b8bbdcafdd4d26
CRs-Fixed: 2618278
Copy desire channel to vdev mlme bss channel after vdev start,
several APIs used bss channel before it is filled, issue happens
like wrong max tx power is set.
Change-Id: Ib46b5b9eebc2000d703dc542c97f85281c0f376c
CRs-Fixed: 2636775
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
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
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
Extend radiotap header to append ACK status and tx retry count
for packets sent to virtual mon interface.
Change-Id: If110a7de736c3efc0d477617089669104c6f1690
CRs-Fixed: 2627707
For the MON Interface, sometimes Mgmt Tx Pkts are captured after Rx
Pkts get captured in tcpdump. This is happening because Tx Pkts are
sent to mon after waiting for Tx completion.
Now Mgmt Tx frames are sent twice to MON interface, one without
waiting for Tx completion with magic number as status field, so
that the Tx Pkts get captured in tcpdump before Rx Pkts and normal
Tx Pkts get captured, which is after Tx completion will remain same.
Change-Id: Idfc65087bd62cd8ef64306501b600caec424ba02
CRs-Fixed: 2627716
BTM blacklist event is not an extscan event. Instead, register it from
roam offload.
Change-Id: I58ff19f0e95e098625f79d5ca3c990df2d516dfd
CRs-Fixed: 2626176
Improve logging in driver by avoiding unnecessary error prints
and combining logs.
Change-Id: Ibab9067aa1bce992f36fca22a5aed88e8d85ba25
CRs-Fixed: 2627549
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.
To support this feature, STA should Set new flag in 11i
params during RSO start/update when initial connection is
completed based on the VSIE in AP beacon/probe response
frame. This flag will allow fw to roam to AP(s) which has
VSIE with single PMK.
Update PMK info in RSO start command with
sae_single_pmk info if initial connection is completed
with AP contains VSIE.
Change-Id: I839b48da48f92f24444e69405d87560186d7f986
CRs-Fixed: 2616029
Optimize logs after connect complete i.e roam offload params
and tdls state etc.
Change-Id: I5df7eb236ef1c7369f4d996c4f0eda7225652f12
CRs-Fixed: 2627694
Currently, driver send a generic reason code
eSIR_MAC_DISASSOC_DUE_TO_INACTIVITY_REASON to userspace when a
STA kickout happens. Send eSIR_MAC_SA_QUERY_TIMEOUT when STA
kickout happens due to SA query timeout.
Send eSIR_MAC_PEER_XRETRY_FAIL when STA kickout happens due to
XRETRY failure.
Still host sends deauth frame with reason code
eSIR_MAC_DISASSOC_DUE_TO_INACTIVITY_REASON.
Change-Id: I72fa7406ef1b131ef3519bb6bef21cc52bc548cb
CRs-Fixed: 2624948
Firmware advertises WMI_SERVICE_ROAM_SCAN_CHANNEL_LIST_TO_HOST_SUPPORT
at the time of initialization. When user requests for roam scan channels
to driver using GETROAMSCANCHANNELS command, driver queries firmware for
roam scan channel list by sending wmi command with command id
WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID and vdev id.
Firmware response to WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID commmad is
WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID. This event has roam scan channel
list, vdev id, connected BSSID, command_response.
Firmware issues WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID event for two reasons,
one for GETROAMSCANCHANNELS command where firmware sets command_response=1
in wmi event and asynchronous event upon disconnection where firmware sets
command_response=0 in wmi event.
Change-Id: I690aca6c3f1e3aa7ae1fe54aadc839ea19446079
CRs-Fixed: 2621535
Add ini config required for FTM time sync feature.
"enable_time_sync_ftm"- ini to enable/disable the feature.
"time_sync_ftm_mode" - ini to configure the burst/aggregated mode.
In burst mode the offset derived for each RTT frame is sent by
firmware, in aggregated mode only one offset is sent by firmware.
"time_sync_ftm_role" - ini to configure slave(STA)/master(SAP) role.
Change-Id: I6a06d6fdc4c7556c32ab2d28f1cbaa936b98a85b
CRs-Fixed: 2618654
Add proper NULL check for ht_info before accessing the structure. This
field is sent as a part of the event from FW and could be NULL.
Change-Id: I55dd7dcbe4ecdafe6a97ebcf2c7d9f08af30d8a2
CRs-Fixed: 2615175
Enhance logs in policy mgr module to remove duplicate
or unwanted prints and keep only useful logs to debug.
Change-Id: Ifd585256955aceec29286d82838be0c588228c32
CRs-Fixed: 2614763
Process management Tx and Rx frames for packet capture mode
and post frames to the mon thread.
Change-Id: I14c0a1cf8a8aa4d4a4e16ad6200715b875611c81
CRs-Fixed: 2619317
Send vdev param command to FW for STA vdev to set the packet
capture mode. Send the command only if packet capture support
is enabled.
Change-Id: Ifed2431882b1f7d2869771e812daa5bcd5dc17e9
CRs-Fixed: 2619314
Combine and print channel for ACS and roam channels, instead
of printing one channel at a time.
Change-Id: I398678e1843849bdf4f4c72f0315c626c97438a6
CRs-Fixed: 2623805
Add BTM Query/Request prefix for BTM debug prints and Neighbor
Req/Resp prefix for Neighbor report logging. If the time
received from the firmware is zero, it implies AP has not sent
the response for the neighbor req/btm query. So log this info
as well. When channel count is zero, log that no channel update
from AP.
Refactor 11kv logging for more details.
Change-Id: I10bb731ce410215eb48322a2f8ad9ed8723e5270
CRs-Fixed: 2623418