For 802.11 Fragmented frames, currently there is a
generic GetFrameControl API from RX TLV for all Li
Chipsets. As the offset for frame control in RX TLV
is different for QCN9000 and QCA8074V2, reading the
frame control with generic API gives wrong frame
control value. The Offset is different as the size
of RX_MSDU_START struct is 8DWORDS in QCA8074v2 while
it is 9DWORDS in QCA9000. In the reo reinject path
the destination queue descriptor address read from ring
descriptor address is Invalid
Fix is Separating out the GetFrameControl API from
generic API to Chip specific API. Also fix the reading
of queue descriptor address.
CRs-Fixed: 3280809
change-Id: Ifc5eca31b9b7e70c84ca455d56a58c27601cd51d
When partner link probe rsp is generated from ML probe rsp, bssid is
filled wrongly, then scan entry with wrong bssid is added, if no beacon
or probe rsp of partner link is received, then candidate can't be found
by partner link bssid, partner link connect fails, at last MLO connect
fails.
Change-Id: I3fa51dbde1cf9d8e256ecfc17059660a4430056a
CRs-Fixed: 3298706
certain BE specific HAL APIs were only initialized for
KIWI chipset but not for WKK. Now moved all these APIs
under beryllium generic initialization.
These APIs are mainly used in de-frag pkt handling.
CRs-Fixed: 3294784
Change-Id: I6611f1b7ef80b432d24a490ba65880dd55539137
Any error during ext/ext2 processing should stop normal init
path and return error. Without this, wrong values are passed
to firmware in WMI init which result in firmware assert.
Add proper handling to take care of failures during svc ready
message processing
Change-Id: Id22714a983d1dc2fe7300a178933cd05bf870a55
CRs-Fixed: 3290131
Add the following definitions related to the Reconfiguration variant
Multi Link element:
- Fixed fields of Per-STA Profile subelement in Reconfiguration
variant Multi-Link element Link Info field.
- Definitions related to STA Control field of Per-STA Profile
subelement in Reconfiguration variant Multi-Link element Link Info
field.
- Definitions related to STA Info field of Per-STA Profile subelement
in Reconfiguration variant Multi-Link element Link Info field.
Change-Id: I4f5a06a60461f37f6a45bf4c15f203980c0e22b9
CRs-Fixed: 3296891
Add the following definitions related to the Reconfiguration variant
Multi Link element:
- Encoding for Reconfiguration variant in the Type subfield in
Multi-Link element Control field. (Additionally for completeness, add
the missing encodings for TDLS and Priority Access variants for this
subfield).
- Definitions for bits in the Presence Bitmap subfield in
Reconfiguration variant Multi-Link element Control field.
- Definitions related to Reconfiguration variant Multi-Link element
Common Info field.
Change-Id: Ie5f89438533f372cd020831a0de0fdafac94d6af
CRs-Fixed: 3296867
Raw mode mpdus in REO end up resulting in NULL_QUEUE_DESCRIPTOR error.
Raw mode mpdus are not expected in REO, free them without further
processing.
Change-Id: Ica920caecf90a1107ce17836051e1019c9dfc994
CRs-Fixed: 3282836
Use def_tx_keyid for Mcast wep key.
Also reset all the key index in wlan_crypto_free_key once igtk,
bigtk and Ucast/Mcast are freed, so that their values are not
carried to next connection.
Change-Id: I9a1e8715c54f47905889511f983b3127b9b5cfcd
CRs-Fixed: 3297270
For a particular vdev, If one of such same CMD id
is needed to be cancelled, either
wlan_ser_cancel_scan_cmd() is called if cmd is scan
cmd or wlan_ser_cancel_non_scan_cmd() is called if
cmd is non-scan cmd.
For both the cases, currently cmd_id is iterated
among pdev serialization cmd queue and if cmd_id
is matched then that particular id is flushed.
Since in per vdev cmd_id, same ids can be assigned
across multiple vdevs and it may be possible that in
the pdev serialization cmd queue, different vdev can
enqueue the same cmd id.
Hence, with current condition that only checks for
cmd_id may result in incorrectly cancelling the
same cmd_id for different vdev.
To prevent this, along with checking for cmd id
and type, check for the valid vdev and remove
the cmd corresponding to that vdev only
Change-Id: I10d37588a52e8d3209c7521782716e2358e57079
CRs-Fixed: 3295516
Update Automotive Regulatory Database to 40th version, sync with
change 'Change-Id: I7fa7f1e9f3e6fcd6aa6ecd5aa21bd4e82aeb19a0'
Replicate 'Country Mapping for Linux Android' table for 'AUTO'.
Change-Id: I8dcee18ae3bb687f5724f18ece0cff9e2144b558
CRs-Fixed: 3293159
Reproduce steps:
1. Connect from OSIF success, wdev->connected = true;
2. Disconnect from target if and reassoc from OSIF happens back to
back.
3. Disconnect event is not sent to kernel, wdev->connected keeps
true, isn't cleared.
4. Connect from OSIF failed too, wdev->connected keeps true, isn't
cleared.
5. Scan with random address failed since wdev->connected is true.
To fix it, if connect req was a reassoc req and received in not connected
state for race between disconnect from target if and reassoc connect from
OSIF, set reassoc_in_non_connected to send disconnect instead of
connect rsp to kernel to cleanup kernel flags like: wdev->connected.
change-Id: Ibbe38da14e9339b49589216250453b76c7387b57
CRs-Fixed: 3290496
rx_bank_id defined in IPA driver is a write parameter for WLAN.
Therefore abstract the QDF macro in a set way, where bank id
obtained from wlan driver is passed as an input parameter to
the macro and rx_bank_id field is then being set within the macro
itself.
Without the fix, setting the bank id to IPA driver is like
MACRO_FOO(foo) = val. On build targets with kernel version < 5.15.41,
this can lead to unexpected build error.
Change-Id: I727b8af0ad7bd076e7756b51682842e947eb0a36
CRs-Fixed: 3291711
Get bank id initialized for IPA usage from DP layer and pass it up
to IPA driver.
IPA is not able to handle bank id on a per-interface basis, and
hence set up same bank id for both TX pipes.
Change-Id: I69632a5e4e2ae115ef9131d5579822b82c001fca
CRs-Fixed: 3289537
Bss peer can be NULL in case of vdev in disconnected state,
so change the log level from error to debug in
wlan_vdev_get_bss_peer_mac() to reduce logging in dmesg.
Change-Id: Idac08200253d83f267be3381691e10d6bd4b52bf
CRs-Fixed: 3293402
In SAP due to intrabss forwarding, Tx ring update is going through
when WOW enable command has been sent to FW. This results in crash.
To fix this, do not update HP when apps suspend is in progress.
Change-Id: Id4176224563bdd759828397fa1cd23de1598192e
CRs-Fixed: 3294407
This change adds API that searches for the primary peer in the peer list.
It returns vdev link id of the primary peer.
Change-Id: I43bef7ec56c5785669f217d63a15f95717f8d349
CRs-Fixed: 3280575
Validate the result of spectral specific ucfg control operation
after processing the control request to get the spectral system
capability information and the spectral diag status.
Throw error if it is an invalid operation.
CRs-Fixed: 3272699
Change-Id: Iba1b165caa41a7b4a133e9d9f3df7203a60a2b75
QDF_MAC_ADDR_FMT and QDF_MAC_ADDR_REF must be used
together, otherwise, it will cause build failure
once WLAN_TRACE_HIDE_MAC_ADDR is defined.
Change-Id: Ifb0bce0661a7252940101346f37d4b4387bea4d2
CRs-Fixed: 3292101
In MLO mode, there are 2 link peers and 1 MLD peer. TX/RX stats
is kept in txrx_peer, which only exists in MLD peer. This change
aims at fixing HDD failing to get rx rates info when in MLO mode.
Change-Id: If476216a6b0d1c006fbc0d45a3cbfbb0be79efd3
CRs-Fixed: 3287090
Add ring id info in TX HW descriptor event history,
this helps to map history event to corresponding HW TX
ring in multi TX queue enabled case.
Change-Id: I82dcece76b1342f4086d489ba489da7c20ea6cad
CRs-Fixed: 3294177
Add a new QCA vendor attribute to configure the periodic sounding for Tx
beamformer functionality.
Change-Id: Id4b75e992e22facdc58b467aaed29d9b00901fad
CRs-Fixed: 3290371
Fix subtype filtering for ctrl frames. This change is needed
because ctrl frames are generated in the host and subtype filtering
is always required.
Change-Id: Id4fa25103387af38f658851495793249776c1985
CRs-Fixed: 3284207
Sometime DP might receive a exception packet with
already deleted peer id. Added a check to avoid sending
such packets.
Change-Id: Ib43d55c7930e4ddc7550d486505a56cb48e85afe
CRs-Fixed: 3285034
Add support for,
a) HE MU radiotap information
b) Multi sta BA frame generation and
minor fix,
a) handling timestamp NULL,
b) update NSS and other field in radiotap
Change-Id: I7a8b95328779f967b9e63ff8048242412ab472b0
CRs-Fixed: 3270361
In the case of finite Spectral scan, the spectral scan will be stopped in
the target once the requested count of spectral reports got generated.
The Host will not be notified of this stop scan. To synchronize the Host
data structures in accordance with the target, we explicitly stop the scan
once the last report is received. In the current implementation, the
stop_scan() is called at the beginning of the last report processing and
we continue processing the last report. As part of the last report
processing, we could access the data structures that were reset during
the stop_scan(). To fix this, stop the spectral scan at the end of the
last report processing.
Change-Id: Iecfa4e72ccbedae77ee2a57e9283910e980121d5
CRs-Fixed: 3287136
rx_bank_id is newly added in IPA driver to represent bank id
field in TX descriptor for BE chipsets. Therefore add same qdf
definitions for DP layer to pass the bank id to IPA driver.
Change-Id: I7efe7ec6917eab131e2b441a502cdb25e682a88a
CRs-Fixed: 3291711
Add call to API to calculate the moving average fo delay for
the following
NW Delay
Wifi SW Delay
Wifi HW Delay
Change-Id: I35afa4d83e474b0173cc1f4b9b6456b9fe2c963c
CRs-Fixed: 3286176
Based on the new requirement process tx and rx rate counts
from peer stats response and send these stats to user space
as part of big data stats.
Change-Id: I988f0d6cf6a3537f31433d4f57280336ab58bc38
CRs-Fixed: 3289789