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
ignore_fw_reg_offload_ind is used to ignore regdb offload
indication from FW and regulatory is treated as non offload.
Change-Id: Ic9a47fe3ec49cf1fa9cbf7ab166decdc4ece0511
CRs-Fixed: 2630994
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
Introduce an INI "enable_roam_reason_vsie" to inidicate fw to
include/exculde roam reason vsie in reassoc frame
Change-Id: I4d2a44812d8b11a19b0d7d31eb31c826aaeda79d
CRs-Fixed: 2627472
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
1) Add optional code compilation for Dynamic ACS(DCS) module.
2) Add Kbuild option(CONFIG_DCS) to control whether DCS code
should be compiled.
Change-Id: Ia594db21fef43a8ef6e90afb4191f50ba42f74b7
CRs-Fixed: 2604529
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
ARP/NS offload cannot be executed in NaN mode, but currently there is no
check on vdev for opmode so it is still trying to execute. Add an if
check for opmode of vdev and return QDF_STATUS_E_INVAL if in NaN mode.
Change-Id: I89accfef625c2a1eae944662acdff5d3fdd6ea9d
CRs-Fixed: 2630329
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
Issue happens when loading driver fail, it will enter pld_deinit,
as wlan_start_comp maybe reset before waiting in
wlan_hdd_state_ctrl_param_write, so once driver is unloaded,
the completion timeout happens 20s later, it will access invalid
wlan_start_comp.
Move init wlan_start_comp when creating wlan node, so it will not
cause completion timeout.
Change-Id: I9a8f43cdf9aa4c777272b7c28f1160e993c4dce4
CRs-Fixed: 2630479
Changing the mapping of Differentiated Services Code
Point named CS6(48) to the User Priority AC_VO(7).
Change-Id: I167d8c6327a8b3c292f98baafb5baccfdfdfc277
CRs-Fixed: 2629716
If AP-STA connection is non-VHT mode then VHT capabilities are not
included in TDLS frames as the session is not VHT capable.
Correct the condition to populate VHT capabilities for TDLS.
Change-Id: I993e495255d7b82e32500e051cc2b296df00aa03
CRs-Fixed: 2627299
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
For packet capture mode, record the channel number on
which STA vdev is operating on.
Change-Id: Id52536b5b238dc1e4fe4c612a651c6fe8ddc17d3
CRs-Fixed: 2627713
Currently the driver waits for cancel roc request in the
API p2p_cleanup_param which gets executed in the scheduler context.
Scan cancel requests also executes in the scheduler context, so
the wait would fail as the scheduler thread is waiting for
the message to get processed which it would only process, which
would in turn cause a latency in P2P connection.
Fix is to remove the wait which is mentioned above.
Change-Id: I12a1a7e4896ecf3a9c6e8f138e18637690cbd049
CRs-Fixed: 2622051
Currently, driver logs the internal reason code and IEEE80211
reason code with debug level. But internal and IEEE80211 reason
codes are same if the disconnect reason code is in the range of
IEEE80211 reason codes. So the log info would be redundant.
Log internal reason code and corresponding vendor reason code
to be specific. Log this with INFO level so that it's logged to
default kernel logs.
Change-Id: I7b85285b626b492da5e55756c020428e498e56c5
CRs-Fixed: 2629630
As softap, send assoc failure if HT supported client try to associate
as WEP/TKIP pairwise key.
Change-Id: Ifcf13eaf3d0d8a48f7e32b675bd53a98611af964
CRs-Fixed: 2616083
Restore default RSO configs in host driver on disconnect, as vdev state
in the firmware is VDEV_STOP no need to update default RSO configs
in firmware.
Change-Id: I061dbfcc5e3fb5350a7fe240d8b1405e1548d7d5
CRs-fixed: 2627107