Only BAR frames with REO/RXDMA push reason as error are handled
in host. FP BAR frames without errors, are routed to host
via REO/RXDMA with push reason as route.
Instead of leaking the buffer, handle the routed BAR frames
gracefully. Free the buffer and log stats to detect such
cases.
Change-Id: I6e09e8b948d9b2d9d3de3b6558e54f0c70901c62
CRs-Fixed: 2814303
The regulatory structure which contains country and regulatory domain,
needs to be expanded to include 6Ghz superdomain.
Make changes in the regulatory component to send the 6G super domain
set by the user, to the target.
Change-Id: I84b96cd74012e33d464d98675158c9cd5eabff4e
CRs-Fixed: 2802131
The function qdf_ini_parse returns QDF_STATUS as SUCCESS even if no
fields are read from the ini file. Because of this even if the
ini file is corrupted and no values are read from it the function
still returns SUCCESS.
So, to avoid that and ensure that the ini file is not corrupted,
add a variable ini_read_count to count the number of fields read
from the ini file and return SUCCESS only if its value is not zero.
Change-Id: I5ec9a9cdc9780b6c9487f6ac64b411b81328d75c
CRs-Fixed: 2804937
FW uses CCE rule to exception all mcast/bcast frames. Ast_idx
override does not help in sending them to TQM directly.
Change-Id: Iad6c1e8073f5c5d0513adb7097d5024177b7b7f5
WLAN_OBJMGR_TRACE is not needed. Ref id trace func is under
control of WLAN_OBJMGR_REF_ID_TRACE. Replace it by
WLAN_OBJMGR_REF_ID_TRACE.
Change-Id: I8877dad0a4f7c13258b2c9bf63dcafb46e5b8b94
CRs-Fixed: 2826259
In monitor mode and other monitor mode features such as
smart monitor, in certain cases, Ex LM profiles there is not
enough headroom to fill radiotap. In this case frame is dropped.
The prints if error type floods and causes backpressure.
Hence change the print to debug only.
Change-Id: I7c0f786848237aaebba6f3282b9d82f0ef5d3f7b
As per table E-4 in Annex E, in the 11ax Draft 8.0, add the 5.9GHz
channels to the global_op_class table in the regulatory component.
Change-Id: I69225e5cae813d470ebaf2768e58672276f6bd2f
CRs-Fixed: 2823487
Currently, there is no INI parameter to control NAN feature in 6GHz
frequency band. Because of this, there is no provision to disable the
NAN in 6GHz when there is no requirement.
To address this, add INI parameter to configure NAN feature in 6GHz.
Change-Id: Ibc653d6241d176f7fb75f18d2886175231ad71cc
CRs-Fixed: 2817925
Add change to support mlme ops to enable enqueuing stop-start
cmd to serialization queue when CSA is triggered for a DFS channel.
Change-Id: I9f2dca3bc4ccfe40bd40c7e04b3ce035df56d19d
CRs-Fixed: 2825760
In current code logic, in case of channel utilization value less
than 3, the congestion value treated as “not present” and give
it a medium score. This will cause a very clean channel get a medium
score.
To fix the issue, need calculated congestion score from 1-100 and
not 0-100.
Change-Id: I6abb257e8298e4db3104fdc20351bbadaa7c2ec5
CRs-Fixed: 2812978
Scan entry fails if any coruppted IEs are present
Introduced new ini parameters to enable scan based on ie
corruption. If ini parameter is enable then scan module skips
all IEs following coruppted IEs and adds scan entry without
completely dropping the frame. Otherwise if ini parameter is
disable then scan entry fails on corrupted ie.
Change-Id: If17b68448dd3e6ac3e98ed854ed67d7f16d9dff7
CRs-Fixed: 2806932
Upper layer (OS_IF) can mark certain packets to be sent
to FW. Mark such packets as exception, so that it is sent
to the FW.
Change-Id: I44af2b06793712be7236f831b6b2604123d72bb1
CRs-Fixed: 2813172
Rxdma err destination could still grow even after monitor
status ring filters are reset as part of monitor mode
disablement which will result in RXDMA2SW ring back-pressure.
Fix is to reset RXDMA_BUF ring filters when monitor mode is
disabled.
Change-Id: Ifd56f6bdbf6a5e4c5d39fc5c71dd85925e3d5f33
CRs-Fixed: 2818011
FW diag events will be dropped when number FW diag events pending for
processing is reached to configured RX_DIAG_WQ_MAX_SIZE value. Add a
log when these diag events a getting dropped for debugging purpose.
Change-Id: Ifc303991bdf274fa7426794eaf71517722e9f386
CRs-Fixed: 2824458
Excessive logging is detected when force wake request
command fails.
Rate limit the logs in hif_force_wake_request and
hal_write32_mb.
Change-Id: I9b1166074dfdb2d58d811571c802a75a6dbc03c5
CRs-Fixed: 2823961
Excessive logging was detected in dp_tx_msdu_multiple.
To fix this, Reduce log level when tx_hw_enqueue fails.
Change-Id: I66d58d12aff037896c7623c6755a443092673a88
CRs-Fixed: 2823453
This reverts commit Change-Id: I98f8f751dc75a3d6f2296f0844529e9c72c4090b.
This INI is moved to HDD_DP.
Change-Id: I451fa50621fdc8b6cbe027bdf1495788914481c9
CRs-Fixed: 2824623
Fix MBSSID IE pasring by properly incrementing offsets while
pasing the IE.
Copy ext IEs also in final iteration.
Minor code readability changes done along with the above fixes.
Change-Id: I3aaf5dd440b48c4229ddefc37f75703fc58ba994
CRs-Fixed: 2814732
RX error stats from REO2TCL ring is just for RX 2K jump/
OOR frame, host should not count them as rx_mpdu_error
stats for user space which will think wifi connection is bad
easily in noise environment.
Align this part logic with Helium that count TKIP/MIC error
frame, for HST/HSP, use error counted from RXDMA instead.
Change-Id: I2e488bedaed166ce410c53eb7e9710d7933c2717
CRs-Fixed: 2821147
In function target_if_crypto_set_key(), array pn's size is 16,
while params.key_rsc_ctr's length is 8, so the length of src
buffer(params.key_rsc_ctr in this case) should be used when
copying data to dest buffer(pn).
Change-Id: Ifa9156963c3da0234dbf8755a4d1f7bf3b96d0ff
CRs-Fixed: 2822715
Number of DP rings used in HOST mode and NSS offload mode differ
and in current scenario the rings are allocated unconditionally.
Allocate only required number of rings based on the HOST mode and
NSS Wi-Fi offload mode and based on the number of radios supported
per SOC.
CRs-Fixed: 2790504
Change-Id: I20ce1908da47c197ea3b406f8704b964f3d8f7d1
Currently, FW diag logs, management frames and stats responses are
processed in worker context. Because of this, there is a possible
out of memory scenario when there are huge number of diag events
waiting in work queue.
To address this, process diag events in a separate worker thread and
set the limit for the number of diag events that can be queued in
work queue.
Change-Id: Ie6e5b905a3b591cf724cd6b024bec0612f9e2e0c
CRs-Fixed: 2818013
Add new API to check if frequency is passive or not. The API checks
the channel flag against REGULATORY_CHAN_NO_IR.
Change-Id: I166a7a79517f81c23ff933d2657ef3f4c551c082
CRs-fixed: 2822205
On completion of connect/disconnect request, the command is removed from
serialization queue. If there if any connect or disconnect request in
serialization pending queue for the same vdev, the command is moved from
pending to active queue in the same context.
All this operation happens under CM SM lock. As part of activation of
next command, the CM tries to acquire same lock to dispatch even to
connection SM. As a result, deadlock is observed.
Add fix to Activate connect/disconnect from serialization pending queue
via deferred context using scheduler
Change-Id: I7f2873ab6d2a639b55ccc54e37463a892d9aae94
CRs-fixed: 2820539
Add cfg_dp_sg_enable to get ini key dp_sg_support by cdp_cfg_get.
And add some comments for CFG_DP_SG to clarify more.
Change-Id: I34de242eacbdcf55398afe64b91f5534f205fa22
CRs-Fixed: 2822536
Add reo ring descrptor swap in case of big endian platform.
Convert msi_data into little endian format before writing into
MSI_DATA register. Also change into little endian format while accessing
the shared LMAC registers.
Change-Id: I07f4ae4e6df4608201b63d325c2cbc37436d1592
Define a QCA vendor attribute
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FULL_BW_UL_MU_MIMO to
enable/disable full bandwidth UL MU-MIMO subfield in the HE PHY
capabilities information field for testing purposes.
Change-Id: I666abb2654603069140bd603ae0377ea01a720fa
CRs-Fixed: 2816951
Use sizeof instead of REG_BAND_UNKNOWN to fix buffer overflow written
in the dp_soc_interrupt_detach.
Change-Id: Iffad59346c487e34632f1c60b2c88e635f6e83a0
CRs-Fixed: 2822433
After clear nol channel, the number of nol channel is 0. We should update
this information to platform.
Change-Id: Ia39be9a2c53067629460ead6000c2661ead07f63
CRs-Fixed: 2818936
When 5G open mode AP and 2G WEP mode AP use same ssid, and WEP mode AP is
selected to connect on UI, 5G open mode AP will be candidate in driver
too for wrong security filter(WLAN_CRYPTO_CIPHER_NONE is supported by
default, WEP match isn't checked at all for open AP).
Since 5G is preferred, 5G open mode AP is selected and connected at last,
peer is set as authenticated without waiting for key install.
But WEP mode AP is assumed connected in wpa supplicant, so WEP key is sent
to driver and F/W later. If peer is set as authenticated before PTK is
installed, data may be sent without encryption, so F/W add assert for such
order.
To fix this issue, when reset cipher and auth set in vdev, don't keep
WLAN_CRYPTO_CIPHER_NONE and WLAN_CRYPTO_AUTH_OPEN, just set to 0,
all cipher and auth set should be get from connect request,
scm_check_wep can be called for open mode AP in scm_is_security_match,
when only WEP cipher is set in filter, open mode AP won't be selected.
Change-Id: I48f9e74d0e8e31e789f33d038b11614d6b2ee6d0
CRs-Fixed: 2820129
The TX notify comp flag is used only by MCL, hence moving
to the MCL this field to the MCL specific cb private structure.
Change-Id: I707ab9252dea705552df9678eedd8501f479672e
Add sysfs node for DP level memory stats:
/sys/kernel/wifi/wlan/wlan_dp_mem_stats
These include Tx, Rx SKB memory allocated, Tx/Rx
buffer count, outstanding Tx desc count.
Add and subtract the skb memory for Rx/Tx when
the map/unmap functions are invoked.
Change-Id: If62cc47bb60f7eb63f60e861f755f3417248677f
CRs-Fixed: 2724482
Add reg_rx_ops for wlan_reg_is_range_overlap_6g, to use the API
outside the umac.ko module.
Change-Id: Iac64d9f15d5d5bed00b2656571dfba34e9933bc4
CRs-Fixed: 2818160
Add a static inline definition for wlan_reg_is_range_overlap_6g
when CONFIG_BAND_6GHZ is disabled, to fix the compilation error, that
is seen when CONFIG_BAND_6GHZ is disabled.
Change-Id: I26cf77c029d7d27887c242a1c7c300219c125256
CRs-Fixed: 2817943