Currently roam pcl is updated after roam, connection and CSA.
Pdev current channel list is updated for many other scenarios,
but roam pcl is not modified accordingly.
To address this issue, update roam pcl every time after computing
pdev current channel list.
Change-Id: Ie86d5592255419de8f4040a3206d275ef926cf03
CRs-Fixed: 3481026
Currently host disables 6 GHz band when set_fcc_channel cmd
is received hence existing STA/P2P client 6 GHz connections
get disabled.
Add changes to keep existing STA/P2P client 6 GHz connections
intact and also keep SAP up on 6 GHz if STA+SAP SCC on 6 GHz
channel was present before receiving this command. Disable all
other 6 GHz operations.
Change-Id: I95c094e1b344d430a288b6f613842efe6e576e25
CRs-Fixed: 3495006
Currently the CDP handles like soc/hif/hal_soc are not
available in any of the the DP component contexts.
Modules like FISA etc need these handles.
Store the CDP handles like soc/hif_handle/hal_soc in
the DP component context.
Change-Id: Iaee4d0e15cbaa7d871dc9e246d177ad310b4c6ba
CRs-Fixed: 3505720
Currently host doesn't check if 6 GHz band bitmask is set
when receives SAP start on a 6 GHz channel. This can cause
SAP start on a 6 GHz channel when set_fcc_channel is set.
To avoid this issue, reject SAP start on a 6 GHz channel
if 6 GHz band bitmask is not set.
Change-Id: I0dd2b1fac7c4293498f7747665302bd72b7aaa23
CRs-Fixed: 3481002
When SAP is on 5 GHz or 6 GHz channel other than the user
configured frequency due to concurrency and concurrent STA has
disconnected, then SAP doesn't move back to the user configured
frequency when MCC to SCC Switch mode is 4
(QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL). SAP has to move
to the user configured frequency irrespective of the current
operating band.
Move the SAP to user configured frequency when SAP is standalone
after STA disconnection.
Change-Id: I3fb78cbd949c0e2ec7c393208569956dbcdd067a
CRs-Fixed: 3509288
Chan width 1 in vht operation means >=80M, while chan width 1 in eht op or
he op means 40M, need be handled in different way.
Change-Id: Ib65dca6245c33f07df351b6ac7eed86f91b372c7
CRs-Fixed: 3506080
Move below two fields from hdd_stats struct to hdd_adapter
1) is_ll_stats_req_pending
Stats will be requested on adapter and in case of MLO
the bitmap of VDEV is send to FW to request all associated
VDEV's stats.
2) sta_stats_cached_timestamp
As stats for each VDEV in adapter will be queried in one
request to FW, the timestamp of last stats update is per
adapter.
Change-Id: I7291e7700a4e6de47196869731b4fdf353a17e78
CRs-Fixed: 3451925
To get the associated state of each underlying vdev in
adapter, this API needs to be called with link info
argument to get the corresponding vdev.
Modify the function prototype to take link info as
argument instead of adapter.
Change-Id: If7d0d3930581df644905ffccaa355a2e32de46e0
CRs-Fixed: 3451564
Add ECSA Target TSF attribute in QCN IE. This attribute
will be included in regular ECSA public action frame and
will be use to send target_tsf and twt_switch_mode to
earbud during LL_LT_SAP CSA.
Change-Id: Ic86bf1b4e8e8516a5774371815d7566f00fee12a
CRs-Fixed: 3490521
Build failure is seen with CONFIG_SYSFS=y and
CONFIG_FEATURE_BECN_STATS=n.
Fix is to add stub declarations for
hdd_sysfs_create_bcn_reception_interface and
hdd_sysfs_destroy_bcn_reception_interface.
Change-Id: I1b1522305ea40d524e9a354211a2e38d4b4cb9d5
CRs-Fixed: 3508273
To get the adapter, wlan_hdd_get_adapter_from_vdev() calls
hdd_get_link_info_by_vdev() which will return link info.
As vdev is moved to per link data structure, modify the API
prototype to return link info pointer and rename as
wlan_hdd_get_link_info_from_vdev().
Callers can get adapter in the link info structure.
Change-Id: I579796ab395515bb777f3204528287b4595c60a7
CRs-Fixed: 3451442
Currently the txrx_ops are not saved in the
non-converged datapath.
Store all the txrx_ops in DP component, when
they are registered with the vdev. This can be
used in the DP component to get and use these
ops.
Change-Id: I30bfc69a32e0a9f0ab16f902a94a8c28ef4af8a6
CRs-Fixed: 3505719
In the hdd_get_adapter_by_vdev() check all the links to find
the adapter that matches the input vdev_id.
Change the function prototype to return pointer of link info
instead of adapter and rename API as hdd_get_link_info_by_vdev().
Callers can get adapter in the link info structure.
Change-Id: Iec5b5b476f74a35054802510093f81e158be2d65
CRs-Fixed: 3451007
Enable changes to affine away CPUs taken during pro
audio use case for kiwi_v2.
Change-Id: Ie27009ae0c89b5a08887863658ccc8cfae47c324
CRs-Fixed: 3490850
The logic to allow peer create on same ML dev context is useful to allow
connection to ML-AP with same link address and MLD address, but it will
allow duplicate peer for ML-SAP.
If a legacy client is already connected to ML-SAP and new ML client
initiates connection with MLD address same as legacy client MAC address,
the rejection logic during peer create fails as both legacy and new ML
client belong to same ML dev context.
During peer create if a duplicate entry found in ML dev context, only
allow if the duplicate entry is on different VDEV, if it is on same VDEV
reject the peer create.
Change-Id: Ic82f80d814e21ea0b69ffd960e7aaef4ebc80ebf
CRs-Fixed: 3496058
On reception of reassoc req from user space to the
connected AP, wlan driver proceeds with reassociation
without clearing the keys. This leads to encrypted EAPOL
frames in LFR2. To avoid this, trigger disconnect & delete
keys before proceeding with reassociation.
Change-Id: Ib287b5d43ae69a7696a28f0e59347c7376d581c3
CRs-Fixed: 3505422
Currently, eMLSR concurrency API considers both the links to
decide whether to allow or disallow the command while
force-enabling links. But one link might have got disabled to
handle some concurrency and might not be present in the
policy mgr table. Driver has to consider the links that are
present in policy mgr to allow/disallow link-enable command
when an eMLSR connection is present along with other concurrency.
Also, user might try to force-enable the disabled link. Allow
that only if eMLSR concurrency is not present.
Change-Id: I0a68059b7d16629016b3c40dbc0345523d46ef21
CRs-Fixed: 3500106
Currently as part of LL_LT_SAP optimization, driver receives
do_acs command from below two path
1. LL_LT_SAP library to get the channel early and
2. Hostapd during SAP turn on
In the first request if driver finds the clean channel as part
of partial scan req then it directly sends that channel to
requested module. So in the second request, driver will exclude
the recently scanned channel from scan list. But there may be
possible that it may receive another clean channel during scan
which leads to two different back to back ACS frequency.
To avoid this, store the current acs frequency and if driver
receives the second acs req within 500ms then send the stored
acs result to requested module.
Change-Id: I9b083a64e996f6ada32ff5210a304aa66aa6ec3a
CRs-Fixed: 3498271
To avoid compile issues where the kernel version doesn't support
11be and WLAN_FEATURE_11BE macro alone can't be used.
Use CFG80211_11BE_BASIC to ensure proper kernel version check for
11be support.
Change-Id: I23a1b6f6e1b46a4ce686d8d1a4152c94922281fc
CRs-Fixed: 3482727
When AP mode is not initialized done, trigger AP scan manual maybe crash,
since acs_cfg maybe null.
Change-Id: I1b5f5eb301a10661a75557dcd9d4fc1fa1b9819b
CRs-Fixed: 3478487
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
modify the DMA direction parameter from
PCI_DMA_FROMDEVICE to DMA_FROM_DEVICE.
Added missing break statement.
Change-Id: I1a226b1c2ce92c7290a094b33a81968d27ff74b3
CRs-Fixed: 3505237
Introduce a new member in per link data structure to fill
the back pointer to adapter.
Introduce new API to get the index of link info pointer
in the array.
Change-Id: I76c96c5d23fcd587181abdbc5b3fdd3634b7e4ab
CRs-Fixed: 3450353
Add support to parse t2lm ie from association response frame
and store in mlo dev context. Once all links are up
the t2lm configuration will be applied.
CRs-Fixed: 3449605
Change-Id: Icd1f3c9bbdfbe1c2a8bfe119d92d6e686e21a7fd
if local var of struct ch_params isn't initialized to 0, the value is
random, reg_punc_bitmap in it is random as following too.
notify: chan:2462 width:1 freq1:2462 freq2:0 punct 0x8880
Change-Id: I8b73aa57cc83181914abff2d3775d7bfb741601d
CRs-Fixed: 3506745
Currently, to switch links from link A to link B, Host sends
two back-to-back WMI commands to FW, by setting link B force
active and link A force inactive respectively with force
mode MLO_LINK_FORCE_MODE_ACTIVE/MLO_LINK_FORCE_MODE_INACTIVE
but if association is in EMLSR mode, FW considers the first
WMI to set link B active (when link A is already set active)
to be a trigger to enter EMLSR mode and sends OMN frame as
part of it. To avoid this, Host has to send a single WMI
with force mode MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE and
include both active and inactive vdev bitmaps within the
same command to clearly indicate the link switch.
Change-Id: Iae58fedc800c891625d737daf238fa476382f4a1
CRs-Fixed: 3487826
Currently, data rate for management tx packets is filled only as
1 or 6 Mbps which is wrong.
Sniffer expect data rate multiple of 2. Hence fill the data rate with
multiple of 2 for tx management packets which received from firmware
and converting into mbps.
Change-Id: I5dd6515804cd3751925af0992a30a7441ebf9bbb
CRs-Fixed: 3444177
Currently, mlo_roam_get_link_freq_from_mac_addr() returns 0 for
non-11BE platforms. Valid freq is present in roam_sync indication
and return the same.
Change-Id: I7156adadae9303257bf96e91e4cb8b5d11706104
CRs-Fixed: 3502610