Add following checks in the entry to management Rx REO algorithm entry.
1. REO parameter are valid
2. Frame type is management
CRs-Fixed: 3166096
Change-Id: I171fc51c1dfa948e32608aa3a1bb05fc6cb2197d
Return wait count as zero when all the frames of a given link are
processed by host SW. Also initialize the management packet counter of
host snapshot to 65535.
CRs-Fixed: 3166064
Change-Id: I88e757981e09640be93df8d3a583c6f14b2781b9
Enhance the debug framework used to log frames entering and exiting
management Rx reorder module.
CRs-Fixed: 3166029
Change-Id: I4594b0a0e383f243b4c1f0fe7b3894235463820f
Previously elna_bypass is of type bool, which check for
elna_bypass enabled or disabled with en_dis variable
Change en_dis to elna_mode of enum extlna_mode
to support extra mode of firmware_default
Change-Id: I99fba1e69c1b9a68024b266ec63b3d6be29f83e0
CRs-Fixed: 3169270
The datatype of resp_id in
wmi_afc_power_event_param is 32 bit.
Change the datatype of resp_id from
uint8_t to uint32_t
in the structure reg_fw_afc_power_event,
to write
QCA_WLAN_VENDOR_ATTR_AFC_POWER_EVT_RESP_ID
in the
QCA_WLAN_VENDOR_AFC_POWER_UPDATE_COMPLETE_EVENT
Change-Id: I910921908ddc24290e2b89732fa223a16aeb9981
CRs-Fixed: 3159542
Replace slave for target, and replace
master for initiator which pair of slave.
Change-Id: I51ee0ce1ce0d0dc30281388a270bda1edfac2903
CRs-Fixed: 3169180
In wlan_dcs_wlan_interference_process, reg_tsf_delta >> 8 may be 0 if
FW indicates dcs event with invalid tsf. reg_tsf_delta >> 8 is used as
divisor later.
Check reg_tsf_delta >> 8 in dcs event before using it.
Change-Id: I085a262ee2f85fafd3b2c25896c8365cfab75243
CRs-Fixed: 3170047
As the value of min_delay is initialized to 0,
during the updation of min_delay per-packet,the
new value is compared with 0.This results in the
value of min_delay always becoming 0.Fix this by
initializing min_delay to very high value.
Change-Id: I6dfdd88a44f68d21240c148bd5c591e04fdff92e
CRs-Fixed: 3170996
Populate punctured pattern from WIFIPHYRX_COMMON_USER_INFO_E
And get puncture type from puncture pattern.
Change-Id: I3a5ba4c7c478d15cf3c3cfdcfd0573775ae342ca
CRs-Fixed: 3166010
Currently while setting affinity mask we are logging
error print for offline CPUs for which we are not
able to set affinity mask.
Change the log print from error to debug as failing to
set affinity for IRQ on offline CPU is not an actual issue.
Change-Id: Ifbdd3f806022a875bc05e1bdd325c54b267f68cc
CRs-Fixed: 3169900
Add support to reset eLNA bypass configuration to default behavior.
If value of 2 is configured, the driver can choose either to
disable/enable eLNA bypass control and there is no enforcement
from userspace.
Change-Id: I813abe5beda49e394ff381aae57c78069ca28784
CRs-Fixed: 3172147
Update cfr metadata version for Alder as agc gain table index
is reported newly on this target
Change-Id: Ie9b4933068163d461676a9005ba8c706730717e8
CRs-Fixed: 3170137
1. Since peer id is reused for reconnection in MLO case,
old entries for queue desc addr is cleared. Clear the reo
internal storage and reset it back on client connection.
2. Send Qref feature WMI cmd to FW to enable the feature.
Change-Id: I6705ce121c8c25d9a2ace039dab21312fa5ea4b1
CRs-Fixed: 3156642
Add support to get the status mgmt rx reo sim feature
cfg80211tool wifiX g_mgmt_rx_reo_simulation
Change-Id: Ia60cd25c0b044484b3e6a44ebc536ac1cf0c3804
CRs-Fixed: 3154130
Add a QCA_WLAN_VENDOR_FEATURE_USE_ADD_DEL_VIRTUAL_INTF_FOR_NDI
flag to indicate that the driver requires add/del virtual interface
path using the generic nl80211 commands for NDP interface create/delete
and to register/unregister of netdev instead of creating/deleting
the NDP interface using vendor commands.
With the latest Linux kernel (5.12 version onward), interface
creation/deletion is not allowed using vendor commands as it leads to a
deadlock while acquiring the RTNL_LOCK during the register/unregister of
netdev. Create and delete NDP interface using NL80211_CMD_NEW_INTERFACE
and NL80211_CMD_DEL_INTERFACE commands respectively if the driver
advertises this capability.
Change-Id: Icb1782b147cf7ef7fed7bb4ba28ece23d4b0dc21
CRs-Fixed: 3167119
Iterate through the opclass table and fetch the opclass
details for the channel widths supported by the current
hardware mode.
CRs-Fixed: 3168892
Change-Id: I9b418999e3745529e3db5bae3a46569e0d1bdc02
&p_range->lowfreq, 'reg_assign_vars_with_range_vals' from incompatible
pointer type.
'low_limit_enum', 'high_limit_enum' may be used uninitialized.
'reg_is_val_within_range' defined but not used.
Change-Id: Id5ff2e0fa18555e4d27e955e6508bd23da280aff
CRs-Fixed: 3153499
WMI op extract_roam_event is also needed to extract roam event
of LFR2, so let it enabled for LFR2/3 both.
Due to struct roam_offload_roam_event is only defined for MCC,
add MCC specific macro CONN_MGR_ADV_FEATURE to protect it.
Change-Id: Ie9724ee578feb60ada30fe75ed3f155a2bbe77a9
CRs-Fixed: 3167557
The Multiple BSSID field (Bit 22) in Extended Capabilities indicates
whether MBSSID is supported or not. Skip MBSSID processing if the
field is NOT set in beacon.
Change-Id: Id18318587cb9d26fa6315202b5bbe98ef8870fdd
CRs-Fixed: 3160715
parsing
HW desc provides 'end_offset' which can be used as delimiter
to identify status buffer boundary
Change-Id: I265ab328b80615fd2386402f0ea3797d124b8f8f
CRs-Fixed: 3157554
When a packet s destined to ML STA from a legacy peer, use
the ML peer id to identify the primary link and redirect the
packet to primary vdev for Intra-BSS.
Change-Id: Id8e6fcc9e2dd638e6d923eef50f55325fa538c49
CRs-Fixed: 3169484
Puncture is one of 11be feature. Even 11be compile macro is defined,
Dut can start AP with non-11be mode. Regulatory component has no idea
whether it should consider puncture or not. Puncture should be a
configurable parameter from caller.
When updating channel state, puncture should be considered for 11BE
AP. is_create_punc_bitmap should be set in struct ch_params and pass
it to reg_get_5g_bonded_channel_state_for_pwrmode.
Change-Id: I96fb131f2df201a827ab7d98ca099a38b008e0d3
CRs-Fixed: 3160259
The maximum WBM2SW rings in whunt for MSL is 5 and
the same could be 4 in wlan code which will result
in wcov failure for MSL. Use a maximum of 5 WBM2SW
rings for HSP based on FW_SIM config flag to address
this failure.
Change-Id: I16770566710efeeea7acbb51f6710e7a996b5cac
CRs-Fixed: 3167050
Copy software image version, chip information,
pktlog json version and pdev id from the event received
from firmware.
Change-Id: I53c2fceee129fa69126ae8214fb652a744bfcbfa
CRs-Fixed: 3165004
For corrupt beacon frame, the memory allocated for
split_prof_start is getting allocated for split
profile case. But since there are no other nonTx
profile or new MBSSID element present afterwards,
Hence, added mem free to handle this scenario.
Change-Id: I6b93ae0be97d72264071d1ce99345f8c0c23f81d
CRs-Fixed: 3156909
Add support for new QCA nested attributes to pass the AFC channel
information as part of the external ACS request command,
EXTERNAL_ACS_EVENT_CHAN_INFO.
Change-Id: I9ab4b8bfce64ea31226dad90f39bee22086b94d9
CRs-Fixed: 3152230
For IGTK/BIGTK keyix, cipher table is not populated. Retrieve
cipher_type from key structure.
Change-Id: Ic61e66854f91317194ee90f64187fd2b787827b0
CRs-Fixed: 3163335
Currently we are sending DHCP and EAPOL connectivity
logs for Tx and Rx packets. but in case of DHCP
we are receiving DHCP DISC and DHCP REQ and
we are sending Tx status as TX_Fail.
So to fix issue ignore sending connectivity log in case
of Rx if packet type is DHCP DISC or DHCP REQ.
Change-Id: I688c375243cff0773bd8290e990d5106ff5b47ae
CRs-Fixed: 3164050
Parse the tqm bypass frames packet count and byte count and consider
them for stats updation in the vdev.
Change-Id: I644eb9819b8a68fbf9da2e2f2588c80dfaa61fa5
CRs-Fixed: 3163215
In ucfg_wlan_mgmt_rx_reo_sim_stop() when mgmt rx reo simulation
is in progress, wlan_mgmt_rx_reo_sim_start() is called
incorrectly instead of calling ucfg_wlan_mgmt_rx_reo_sim_stop().
Fix this by calling ucfg_wlan_mgmt_rx_reo_sim_stop() instead of
wlan_mgmt_rx_reo_sim_start() in ucfg_wlan_mgmt_rx_reo_sim_stop().
Change-Id: I906618fc87448cefae54bdcdf00c7f64217362fd
CRs-Fixed: 3154187
Consider the case where the AFC server response initially,
has only one 20 MHZ channel available for operation and AP is operating
on SP on that channel. In the next response, the AFC server response
advertises support for all UNII-5 and UNII-7 channel. In this case,
the AP VAP does not come up in the new channel chosen by ACS.
The super channel list is not being reset on every AFC response received
from the target. Also, if the current power mode is SP, and the target
power is also SP, reg_set_ap_pwr_and_update_chan_list does not the same
power mode configuration. Due to this, the current channel list and
super channel list are not updated, and therefore the VAP fails to come
up in the new channel chose by ACS.
To fix this issue, reset the super chan list on every AFC response
received and remove the check to prevent the same power mode setting
in reg_set_ap_pwr_and_update_chan_list.
Change-Id: I52f24038ef904e4f8ede6861b7e4a0cdcd9607b0
CRs-Fixed: 3154057
High CAC timeout is seen for weather and non-weather DFS channels.
This is due to the delay in 5.4 Kernel timers. There is 1 second delay
observed for every 60 seconds.
To fix this issue, replace qdf timers with HR timer for CAC timeout.
On CAC expiry, when VDEV UP is sent to FW, serialization timer is
cancelled. Since CAC expiry is processed in H/W interrupt context
(while using HR timers), no other timer cancellation is allowed.
Hence, process the CAC timer completion in work queue context to allow
other timer cancellations by the CAC thread.
Change-Id: I92c4662decbba27261448327abb16708d941d778
CRs-Fixed: 3142394
The regulatory pdev private object is used directly without a NULL pointer
check in the API reg_get_pwrmode_chan_list.
Add a NULL pointer check for the regulatory pdev private object to prevent
NULL pointer dereference.
Change-Id: If6f9daf5d88a8fb9fba1b184721ba10e96ad0e2e
CRs-Fixed: 3159429