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
Currently the monitor mode processing assumes the
rx pkt tlv to be consisting of RX_PACKET_HEADER tlv.
This assumption is incorrect in case of sta+monitor
mode, where the RX_PACKET_HDR tlv has not been subscribed.
Due to the above incorrect assumption, a certain portion
of the actual payload is being discarded, when the
rx_pkt_hdr tlvs are stripped off from the received buffer.
To mitigate this issue, use the rx_pkt_tlv length based
on the tlvs which are enabled, and configured to the
rxdma for reception.
Change-Id: I8f29db85bbd50316e3c2073ae9a2e79fd724be05
CRs-Fixed: 3318038
Tx completions can be received after 30seconds, this is causing
race condition as there is a forceful freeing of tx descriptors
after 30seconds. This race condition corrupted tx desc pool's
freelist pointer which contains list of all free tx descriptors.
Increasing the threshold from 30seconds to 60seconds. Display
id for which tx descriptor is freed.
Change-Id: I5e0c78283747028de558f9c5db99f7089ffb7e97
CRs-Fixed: 3322566
For Multi chip configuration, assign appropriate value for
Return Buffer Manager(RBM) idle link descriptors based on chip_id.
CRs-Fixed: 3314584
Change-Id: I1a2f9a09b04960aff01b4ec625110e0619a9850b
The following change introduced a misspelling of "conversion", so fix
it.
- Change-Id I9f8fa776c65cbad84fac5e8c2f65b3fce1386e20
qcacmn: update RSSI specific parameters in mon pdev
Change-Id: I019f929c09ad4e1de21ed9c7ac485a14f82d786c
CRs-Fixed: 3319342
Currently the monitor mode filter settings are set
for both the PMAC. Hence it is possible that the
non-monitor PMAC (the PMAC on which monitor vdev
is not running), can receive packets and forward them
to the monitor destination ring.
The above scenario will lead to a ppdu_id mismatch
when reaping the monitor status ring and comparing
the ppdu_id in status ring with the one in monitor
destination ring, since monitor status ring will
have ppdu_id from the PMAC on which monitor vdev is
running, whereas monitor destination ring will have
packets from both the PMAC.
In order to mitigate the above issue, detect the
packets in the monitor destination ring, which are
not from the PMAC where monitor vdev is running, and
drop them.
Change-Id: I32392ceeadffd9cb7a4dd76336004a9dcbb99404
CRs-Fixed: 3318036
Currently, structure tbtt_information_header and
rnr_mld_info don't have attribute __packed. When
fetching the value of bss_param_change_cnt, it
tries to align with byte and causes wrong value.
And these are OTA structures which should be moved
to file wlan_cmn_ieee80211.h.
Change-Id: I326e62e6f513c2b43fe08c278aa4b5a245d2d35c
CRs-Fixed: 3313710
In ethernet TX fast recycle bit is set to buffer after
invalidate.
In Rx replenish API do not invalidate buffer if fast
recycle bit is set as it is already done
Change-Id: Ic74a96033a659baac381c921aff75296d155f169
CRs-Fixed: 3321142
This change will prevent flow pool unmap and delete
if pool status is inactive.
Change-Id: I071b84c6d99360af8aba97297efacb0a8682f343
CRs-Fixed: 3306110
When SAE station is trying to associate to MLO AP.
If this station was connected to other link vap of same MLD,
then if same station is trying to connecting with link VAP,
ML peer entry is found with MLD MAC address.
For SAE stations, initial understanding to handle disconnect
from hostapd, but as hostapd initiates SA query for the connected
link peers only, in this case, hostapd can't initiate SA query
as it was connected to other link VAP.
The fix is to allow initiating deauth of the current ML peer entry.
Change-Id: Iddb53f0156b460a2ede2197a74acf254c83b7b37
CRs-Fixed: 3313785
The following change introduced a misspelling of "disable", so fix it.
- Change-Id Ifeb6935e2309be1f974c4da30b33a5caca308569
qcacmn: Add dp ini param for sawf stats
Change-Id: I46249a0a32eabf3198d2634a4775c05089647b1b
CRs-Fixed: 3319332
The following change introduced new misspellings of "address", so fix
them.
- Change-Id Idc9eec559b71ebb2dc39ea1d648a384ea0eb9559
qcacmn: Fetch the reo qdesc from the peer
Change-Id: I29c71972d46a06c24fef2ed90d2a4226cc2ac654
CRs-Fixed: 3319356
Reference taken on peer with wrong MODULE_ID, hence
while unref on peer is failing.
Change-Id: Ifd4360ad8db877cfbf67fb6d80fdfb41aee4ff56
CRs-Fixed: 3317145
Currently, when tx completions are pending for more than 60
seconds, assert is generated in defconfig builds.
Force free leaking tx buffers in defconfig builds so system
can go to suspend in defconfig builds.
Change-Id: Ie66506d58e85176320c7aa35d49059f808be0054
CRs-Fixed: 3318409
VDEV param id is logged in hex without 0x(hex) prefix
which creates confusion. And hence log WMI vdev param id
with 0x(hex) prefix for easy correlation.
Change-Id: Ib8a868fa43a911817c8e5540a07562dde08e0818
CRs-Fixed: 3320943
Fix incompatible function pointer assignment.
Define a wrapper around mc timer callbacks to
make them compatible with standard scheduler
message callback function signatures.
Change-Id: I07829680d1758ccbd53e8b1fe10b0e30e100a2c6
CRs-Fixed: 3305719
The original implementation of suppressed logging used identifiers
with a misspelling of "suppressed."
Change [1] renamed the identifiers, but for 2 public functions it
defined macros for the original names to keep from breaking existing
clients.
Change [2] updated the only existing client to use the new names.
Now that the old names are no longer used, remove the macros.
[1] Change-Id I0107b157374046ab8f3467801563c02f0f2651fa
qcacmn: qdf: Rename misspelled "suppressed" variables/functions
[2] Change-Id I4fcd506b39cedd6f094f93ee900cf9ce8be759c1
qcacmn: Use renamed QDF suppressed logging APIs
Change-Id: I78f3b245b355ba937b15fdfa5b4834fb58a62a62
CRs-Fixed: 3313687
For WMI messages RTPM get is done during HTC message send and the
corresponding put is done in Tx failure or in Tx completion handler
for Tx success case. In the case where Tx completion is not received
for WMI messages RTPM put is not done as part of the cleanup which
results in RTPM Get and PUT call out of sync issues.
To fix the issue as part of HTC cleanup do RTPM put for WMI messages
for which tx completion is not received.
Change-Id: If92f4bd8a6c104d7ccef1e33b31aa765ea6100bd
CRs-Fixed: 3315404
The following change introduced misspellings of "whether", so fix
them.
- Change-Id I50b747710eb3c49eab60c81bbc61e75e2f8650ed
qcacmn: Handling of IGMP packets in MLO Multipass
Change-Id: I09891388e45a210457d46fb3528efdd5a32905dd
CRs-Fixed: 3319323
AFC request or response does not consider punctured channels/BW as an
input. Hence the SP EIRP/PSD power for punctured channels cannot be
derived directly from AFC response data.
Add punc_pattern as an input to the APIs reg_get_best_pwr_mode() and
reg_get_eirp_pwr() (and its dispatchers).
Compute SP EIRP for the punctured channels in
reg_get_sp_eirp_for_punc_chans() using the following formula:
MIN_PSD + 10log10 (Non-punctured BW)
Fetch min_psd from the AFC server response data for the input freq
and BW combination.
Use the total BW and puncture pattern to fetch the
non-punctured BW.
CRs-Fixed: 3306932
Change-Id: Id5c4c404a3155474a01a0dacb3bcf289e92e65ac