Currently, only single pd_threshold is fetched and
treated as SRG and NON-SRG pd threshold instead of
handling both threshold separately.
Fix is to get SRG and NON-SRG pd threshold from
userspace instead of single pd threshold.
Change-Id: I414843dfd08068c81531d0e96d71fb68d8bfccd1
CRs-Fixed: 3328201
Add MAC ID to which the Spatial Reuse stats is requested from.
Pass this MAC ID to FW to get the respective Spatial Reuse stats.
Change-Id: Ief2434bf1f2fc82d9339ee38933effbd580088af
CRs-Fixed: 3328686
FISA update may come when target in suspend state, then
UMAC force wake may return failure and lead to system timeout
crash. Change is used to defer the update when resume happens.
Change-Id: If033bed692dccf2d27e9c76825ab2063a3f56841
CRs-Fixed: 3324926
Add "validate_set_mlo_link_cb" callback to mlo link set serialization
request context. Mlo mgr component client can register such callback to
be invoked before set mlo link command to target.
Change-Id: I0e860186dd33fc45b3f662d6af91329f10e4c638
CRs-Fixed: 3324888
A new capability bit from FW is introduced that provides
ADFS 320 MHz support information. supports_adfs_320 signifies
chainmask capability service bit if FW supports ADFS on 320 MHz
channel width. Add this capability bit(supports_adfs_320) in host.
Change-Id: I09c689658ef495d8a8707425ecc9ba922fce4d41
CRs-Fixed: 3317795
Reduce CE0 source and destination ring sizes for XPAN
usecases to reduce memory footprint based on the
frequency of transactions between LPASS and FW.
Change-Id: I65076a2720fa72d10327981994763dc4ac295ab3
CRs-Fixed: 3319659
Add reg txops to fetch min_psd for punctured SP channels.
min_psd is computed from afc response. Using the min_psd power value,
EIRP is computed for the non-punctured BW using the formula
EIRP = PSD + 10 * log10(non-punctured BW).
Add an entry in bw_to_10log10_map for all possible non-punctured
bandwidth.
CRs-Fixed: 3329625
Change-Id: I79707cb233640342c521e41e9c4d776e121c1d6d
Currently vdev id is passed from nbuf cb
but vdev_id is not being updated in nbuf cb
which is resulting in passing wrong vdev id to the
packet logging function.
So to fix issue pass vdev id from tx descriptor instead
of nbuf cb and also rate limit the error log in vdev NULL
case.
Change-Id: I69f568b7da52f1c96f208a220c6c4a7f6d98e082
CRs-Fixed: 3327359
320 MHz bw are overlapped, if you want special 320 MHz center freq,
pass center freq of 320 MHz to reg_set_channel_params_for_pwrmode
through ch_params->mhz_freq_seg1.
Change-Id: If5947ed1303c5c7d978161b6ffc6490ab07b8296
CRs-Fixed: 3326837
Currently the mdpu_desc_info from the msdu buffer tlvs,
for 2K-jump or OOR errors, if its the first-msdu-in-mpdu.
But if this flag is incorrectly indicated, there is a chance
of decoding garbage data and accessing invalid/NULL memory area.
In order to mitigate the above mentioned issue, add a sanity
check to determine if the first-msdu-in-mpdu has been processed
once and process/drop subsequent msdus based on this flag. This
flag also helps in handling cases, where first-msdu-in-mpdu
is indicated incorrectly for multiple msdus in an mpdu.
Change-Id: I990301d5a101dc7aa71303420bf49ab6fcee27c6
CRs-Fixed: 3325334
Currently sme_switch_channel set new_ch_width as phy_ch_width, while
wma_csa_offload_handler set new_ch_width as raw bit in wide bandwidth
channel switch IE.
Clean up the code. Define new_ch_width in csa_offload_params as
phy_ch_width.
Change-Id: Ie1999860421aa60c18cdc8059275954d910b4b66
CRs-Fixed: 3324746
Ideally in MLO, Rx buffers should be routed to error
rings of the SOC which owns the RX buffer or link desc
incase of any error or fragment
But in case of HW issue if the packets are routed to
partner soc. Handle gracefully instead of assert
Change-Id: Ia56188808dfd034e960e1c1345de8f760e4b05f1
CRs-Fixed: 3327959
In case of MLD, if one of the partner vdev is not brought up and
CSA is triggered on self pdev with multiple vdevs configured then
all the vdevs of this pdev will move to restart state.
But the ML AP vdev in MLO_SYNC_WAIT will not handle CSA restart
leading to multivdev restart request timeout.
Add change to handle CSA_RESTART when the ML AP vdev is in MLO_SYNC_WAIT
state. Thereby all vdevs of this pdev will move to restart state.
Change-Id: I9b729e2f81d3c72ab5e321f3a396f157424c1663
CRs-Fixed: 3328931
Add support for new vendor sub-command attributes for 320 MHz
channel width and puncturing information as part of the
external ACS.
Change-Id: Ic8181619949061794775bfe55f4afd0f408a7316
CRs-Fixed: 3323216
In defrag path match addr1 with VAP mac address
and if there is mismatch do not process considering
it as corrupted packet
Change-Id: I003c07949e760ff4e64a7d22bfbefc25cc817ae2
CRs-Fixed: 3327977
In case of MLO, when back to back connect is received, if the previous
connection is still in progress, hold the disconnect and the new
connect.
The same is the behavior for disconnect followed by connect.
Change-Id: I174f5fa40df2441d3dce693550542fd43d6dd991
CRs-Fixed: 3323721
CE2 ring gets full pretty quickly as target side entries
count is 32, host side config is 64.
Increasing target's pipe entry to 64 as well.
Change-Id: Idbcb3675af0b39fc9741ae68d7ec3f1ad5e67bf1
CRs-Fixed: 3322383
Typecast vdev->ref_cnt, from qdf_atomic_t to int,
using qdf_atomic_read() when logging as an
integer value.
Change-Id: I3432f5b8247a3031f1896d8964529a568fc3af19
CRs-Fixed: 3326096
The kernel-doc script has identified numerous documentation issues in
wmi_unified_tlv.c, so fix them.
Change-Id: Icf82bc87e576965f5bfe64d416be2da71a250cb6
CRs-Fixed: 3326205
User space issues scan, which does not include non-PSC channels.
If user space does not customize these channels, kernel fills
all the supported channels (2 GHz, 5 GHz and 6 GHz all channels).
Driver does not add channels to the scan channel list even if
it is present in RNR IE, as this increases the number of channels
given by user space and increases scan time.
User space should not send customized channel list, even if it
wants to scan the RNR channels.
If the flag NL80211_SCAN_FLAG_COLOCATED_6GHZ is set or at least
one 6 GHz channel is present, driver need to add all 6 GHz
channels which are not present in the scan request and sets
RNR flag for those channels so that FW can do co-located 6 GHz
channel scans on these channels.
Without the change, Driver adds 6 GHz channels to the scan request,
which are present in PSC list only.
Withdraw logic to add all 6 GHz channels to the channel list,
if Scan req carries at least one 6 GHz channel in
scm_add_all_valid_6g_channels, which indicates that the target
or regulatory supports 6 GHz channels, as they are added if
Scan req carries NL80211_SCAN_FLAG_COLOCATED_6GHZ flag.
Change-Id: I3c8f5cd7eadf39557f24f685a260fe76ea5d08be
CRs-Fixed: 3312385
This change is to populate the phase delta for the valid
chains as per rx_chainmask for scan radio in special
vap mode.
Change-Id: I3ff9a928d93b0e81221b2bf9a515c63150f04272
CRs-Fixed: 3316528
Use rate limit print for BAR frames to in avoid of
slow processing when BAR flood happens.
Change-Id: I92063787501c8f6467a211bd2695108a9fe42724
CRs-Fixed: 3325043
When Multivaps are configured in a radio, the vdev_id's are
not updated as expected.
With the changes, the vdev_id are properly updated in the registers
Change-Id: I7d987e96bd0f8a91f13025fa6975415ea235ce12
CRs-Fixed: 3318563
In function wifi_pos_process_app_reg_req(), it uses function
wifi_pos_get_vdev_count to get vdev_count;
Then wifi_pos_process_app_reg_req->
wifi_pos_get_vdev_list-> wlan_objmgr_iterate_obj_list,
it uses wlan_psoc_get_max_vdev_count to get max_vdev_cnt,
if vdev is not NULL, it invokes function wifi_pos_vdev_iterator
to fill the vdev_info.
For the failure scenario:
In wifi_pos_process_app_reg_req, it gets 2 for vdev_count
from function wifi_pos_get_vdev_count; Then the process is
interrupted and vdev 2 is created in another process; Now
since there are vdev 0, 1, 2, wifi_pos_vdev_iterator is
called 3 times and memory corruption happens since it writes
two more bytes with op mode and vdev id in vdev_info.
Change-Id: I5222836a1448bfaa7df31c919419d448eaa20895
CRs-Fixed: 3320183
Forward the 4 addr eapol packets received in
dp_rx_process_rxdma_err() to osif stack instead of network stack.
Change-Id: I1d8ff065096844ebe61974329754e54fc9d28640
CRs-Fixed: 3323480
Map wmi_service_eirp_preferred_support to
WMI_SERVICE_EIRP_PREFERRED_SUPPORT in populate_tlv_service.
Change-Id: Ibbf3d6fbd5b257f5562a0a51f11dec7e2bcf07bd
CRs-Fixed: 3322363
Log the time stamp corresponding to the start of processing
of multi vdev restart response event.
CRs-Fixed: 3308918
Change-Id: Ia00923b3a1033097429d3856047a4b639408aab8
Add qdf_get_ipa_smmu_enabled stub API when IPA_OFFLOAD
config flag is disabled and SMMU S1 translation config
flag is enabled to avoid compilation issue.
Change-Id: Ic7291aacf2ca0008bfe112e689fc39d14d99b16c
CRs-Fixed: 3317536
Replace all occurrences of
wlan_reg_set_channel_params_for_freq API with new API
wlan_reg_set_channel_params_for_pwrmode.
Change-Id: Id751558b32f2b61bd356e1ebce3238598fbd16c1
CRs-Fixed: 3144794
Add an API to check if the given input 6 GHz frequency is Tx-able
in the given power mode.
Change-Id: I9e94c1c3ec7c4c31d18bde6e88905a9239636f00
CRs-Fixed: 3305006
Change the peer retrieval error message to debug in
wlan_twt_set_peer_capabilities().
The peer twt capability will be set later after peer
is created. Because of this error print, there is a
delay of around 10-20msec in the roaming path.
Change-Id: I5267a61df5726b67ff727101bd553fd4ce07fa5f
CRs-Fixed: 3314202
Add support to read TSF2 and TQM scratch regitser in the HAL layer
for WKK v1 and v2 board.
Change-Id: I0ef5e8cf4e06c0b5c98169252a81f70989285d2d
CRs-Fixed: 3321782
As part of mac address filtering feature for scan radio in special
vap mode, on addition of first NAC entry or deletion of last NAC entry
the corresponding monitor filter needs to be set or reset
Add change to support ops callback function required to set or reset
monitor filter settings are runtime.
Change-Id: I916c0b246bb180363f1a181ef49618af763b261d
CRs-Fixed: 3317409
Partner link connect request is copied from primary link.
The upper layer may include BSS channel freq preference in
OS connect req. We have to clear it for partner link connecting,
otherwise the scm_filter_match will filter out the mlo partner
candidate and cause partner connect failed.
Change-Id: I9ca8f2baf5f7e660ed0b72c1dffa886f1c1e8f11
CRs-Fixed: 3320085
In special case, link peer is failed to attach, then mlo peer is deleted
without detaching from ml peer list. When access peer list, assert will
happen for use after free.
Change-Id: Ic7a58fa0708ae6b920a69100e798c0aa8db7fe0d
CRs-Fixed: 3319376
In the current implementation, the Direct DMA completion event is getting
processed in the tasklet context. When the Direct DMA events land on the
same processor core as the one used by the WLAN data path events, the
Direct DMA events can pre-empt the data path events as the datapath
events usually run in NAPI context. This could impact the data path
throughput when there is a high volume of frequent Direct DMA events. To
fix this, Direct DMA events can be run in work queue context based on
user configuration. Add support for the same.
Change-Id: I1a89b185c6765addc7ee725e9324025f0318d9ed
CRs-Fixed: 3276157
Currently, in non-dbs platforms, firmware controls NAN enable/disable.
To enable NAN in non-dbs platform, host driver sends NAN generic
request to firmware and firmware enables NAN and provides generic
response to that.
But for some legacy platforms, requires enable NAN in host.
For this, firmware adds new TLV for NAN enable response and
sends with NAN generic response. Host extracts the NAN enable
response parameters from NAN generic response packet.
Change-Id: I1f4460137913780d4c262b5e40342dbb0b9a87c7
CRs-Fixed: 3263746