The secondary STA is non-ML type by default, so driver doesn't
create mld/ml_dev_ctx for the vdev corresponds to secondary
interface which is wlan1.
But in current scenario there is a check in the peer cleanup
API which always expects ml_dev_ctx. when secondary STA(wlan1)
roams from one AP to other AP, driver doesn't cleanup the old
peer due to this check and results a peer leak.
Delete all peers even when secondary STA roaming which avoid
this issue.
Change-Id: Ib759b43949651894e7a2aeef5255e46b7c9fa254
CRs-Fixed: 3562495
Currently in dp_txrx_init during dp_rx_refill_thread_init fail case
dp_txrx_handle is not freed which results in memory leak issue.
To fix the issue free dp_txrx_handle in dp_rx_refill_thread_init
fail case
Change-Id: I0804154519707d5d558940cccaa699f639ae6704
CRs-Fixed: 3563740
Add logic to set wifi standard per the vendor
attribute QCA_WLAN_VENDOR_ATTR_CONFIG_PHY_MODE
and QCA_WLAN_VENDOR_ATTR_CONFIG_IFINDEX for vdev.
Change-Id: Ib03d233bf6f290859e2d754b3193ae5020d872d5
CRs-Fixed: 3554395
Initially, if hotspot starts in world mode, it can come up in
2.4 GHz only. Later, the correct regulatory domain gets configured
in the host driver.
Even if this new reg domain supports higher bands and better channels,
the SAP will not be able to move since the ACS list configured
initially is for world mode(only 2.4 GHz channels).
To fix this, after the initial ACS userspace will configure the
ACS channels as per the band preference. Upon new country change,
the host driver will use this updated list to switch to a higher/
better band.
Change-Id: I60524e60798df656b86cbd883a31b00ccd210bc6
CRs-Fixed: 3453679
Before the host triggers sleep mode, it configures listen
interval while setting power save parameters to firmware.
If user configured listen interval is present in host,
that configured listen interval is set while setting
power save params.
Change-Id: I158a547f95bca4750b5180840113c03a89ced17c
CRs-Fixed: 3528793
With these APIs, vdev connection is effected by the
WIFI standard version. For example, if wifi_std is
wifi6, then the connection will not use 11be feature.
Change-Id: I8f762f9cf16d876d5cf2847561b61c11a23e97b5
CRs-Fixed: 3554305
To fetch per link stats or cumulative stats in case of single
netdev model where stats of each link will be retrieved from
respective link info pointer in adapter instead of multiple
adapters.
Change-Id: I0babe4611a593b218e8750cec6f397c6c8534ec6
CRs-Fixed: 3563617
As part of dynamic MAC address update for VDEV, notify DP
component to update corresponding DP link's MAC address.
Upon successful VDEV objmgr update, call DP ucfg API.
Change-Id: Idbfb592b8b8aa55875071473411ecf30e92bc3c2
CRs-Fixed: 3549319
After moving to the single-netdev-multiple-vdev model,
the dp_link mac address needs to be updated as a part
of dynamic mac address update.
Add an ucfg API to update link mac address.
Change-Id: I96d3230f958c15cb576c881c02e60bd3a4fb0379
CRs-Fixed: 3563523
Add API to find the candidate for next default link.
This is used when the current default link is being
re-purposed or destroyed.
Change-Id: I98afd3ef2ac21d14ee6056f6329fbcf9a612959a
CRs-Fixed: 3519643
Move the vdev and vdev_lock to dp_link, since
dp_link corresponds to objmgr vdev now.
Change-Id: Id1ef27911c4eaa3434fc2719a8f5951f00d31116
CRs-Fixed: 3518896
Currently dp_intf is create on adapter level,
but corresponds to vdev. ML connection can have
multiple links for same adapter.
Hence introduce a new data structure dp_link,
which corresponds to the vdev, whereas dp_intf
now corresponds only to adapter/netdev.
Change-Id: Ia2bba89f425b64b4e404f6866a54fe0f6e05ad6d
CRs-Fixed: 3518894
Current code has the potential to access an
invalid array index of vlan_map.
Fix this by properly bounding the array.
Change-Id: I8f2eb220f2dfe822ca9486a5a2b66ddf186e6d4a
CRs-Fixed: 3562607
Add API to restore or clear user set link num when SSR or
interface down happens.
Change-Id: I955937817481740dc3dd75b51d669ed36b5f74d2
CRs-Fixed: 3531260
For WFA test case, it resets the EHT CAPs and clear rx/tx
mcs_0_to_9 flag, then it sets BW supports 160 MHz which means
it also supports 20 MHz, but it does not re-enable flag
mcs_0_to_9 for rx/tx for 2.4 GHz 11BE and causes connection
issue.
To resolve this issue, set flag mcs_0_to_9 for rx/tx if 2.4 GHz
40 MHz BW supports.
Change-Id: I330a49293107ceb300e04ca258216b75c1904317
CRs-Fixed: 3561031
Pointer 'hdd_adapter_get_mac_handle(adapter)' returned from call to
function 'hdd_adapter_get_mac_handle' may be NULL and will be
dereferenced.
Check gen probe rsp len with buffer size to avoid OOB.
Change-Id: I58db7107504193b6f04c762594891cd6693e6aa3
CRs-Fixed: 3561351
Currently FISA max aggregation count is fixed 16, but some
platforms can support different max aggregation count.
So while sending HTT FISA config if F.W is capable of programming
dynamic msdu aggregation sizes, then select max aggregation count
based on target type and send it to F.W.
Change-Id: Ic5212536024a3ceb0b2c4ad111172870f1825969
CRs-Fixed: 3542509
Currently mlo peer stats are not properly cached in the
hdd context. It creates an issue, when retrieved and sent
sent to userspace.
So, to resolve this issue, cache mlo peer stats locally,
and delete them after sending to userspace.
Change-Id: Ie1ecfd59c3ddb75c0a6553e6b1b7f521cd9265e9
CRs-Fixed: 3563408
Currently in driver while using QDF_MAC_ADDR_FMT to print mac
address, the mac address reference provided to QDF_MAC_ADDR_REF is
incorrect in some cases. Fix all such instances.
Change-Id: Ib5d84b01542ebf04ee7d23fb65305036651a6a45
CRs-Fixed: 3556409
In the api target_if_nan_set_vdev_feature_config (),
vdev is not validated before sending vdev set param cmd
to FW which results in crash for invalid vdev.
Validate vdev in the api target_if_nan_set_vdev_feature_config()
before sending vdev set param cmd.
Change-Id: I70ee56ae3c78f466c3757671c95b449925bb9fd2
CRs-Fixed: 3546457
In case of new candidate selection or another connect request,
reset the previous AP link info and later add new AP link info.
Change-Id: Id80ed2cb7b2a02af06492dedf9a9d07baf906cf4
CRs-Fixed: 3530705
Currently during station or ap interface up, host is trying to
take rtnl lock during wext unregister in case of any failure.
This leads to deadlock as it's caller has already taken the
rtnl lock.
To address this issue don't take rtnl_lock in hdd_open path.
Change-Id: I4c0189fad403d79059e3dacd8c35d7b68fd12114
CRs-Fixed: 3555397
When STA 5GL + SAP 5GH in SBS mode, P2P Go start on 2 GHz, STA and
P2P Go are MCC in same MAC 0, so PCL index is PM_STA_P2P_GO_MCC_24_5_1x1,
when try to switch SAP channel to avoid MCC, PCL got is none, so SAP
failed to restart and stopped.
To fix it, for 2 ports like PM_STA_P2P_GO_MCC_24_5_1x1, when start/restart
SAP, change PCL to PM_SCC_ON_5_SCC_ON_24, allow it SCC with STA or P2P Go.
Change-Id: I7f05c1f430c6fd89a5055781604588366870e4f0
CRs-Fixed: 3561049
Below changes are handled as a part of this
1. After receiving the Probe response frame from AP,
driver will update the links channel_info into the
mlo_mgr context.
2. Fill the AP partner link info in struct peer_assoc_params.
Change-Id: Ibdc3c82707e2acd8bd1ad1610703077bc506bf65
CRs-Fixed: 3530280
Currently in driver, %pM is used to print mac address.
Replace all instances of it with QDF_MAC_ADDR_FMT.
Change-Id: Ibd575675804ab6545ed32fde2ec2b08caf837d83
CRs-Fixed: 3555007
Currently in driver, two macros are defined to specify the
mac address printing format. Since both macros achieve
the same result, replace all instances of QDF_FULL_MAC_FMT
with QDF_MAC_ADDR_FMT.
Change-Id: I88b04fbaeba061a6272427e0daafcc132f53bb1e
CRs-Fixed: 3559489
Pointer 'pre_cac_adapter' returned from call to function
'hdd_get_adapter_by_iface_name' may be NULL and may be
dereferenced.
Array '¶m_val' of size 4 may use index value(s) large
than 4.
Change-Id: Ic66628f79a6118bc5ab4d6571f341b80e18c689b
CRs-Fixed: 3559886
Currently the pe_session->ch_width is overwritten to maximum
channel width if the AP advertises 20 MHz ch_width, to mitigate
some interopebality issues with faulty AP that changes BW during
association. So save the AP channel width computed in
pe_session->ap_ch_width.
Use the pe_session->ap_ch_width to validate if the ch_width is
20 MHz to fill the IE.
Change-Id: Iafe60f8497fde946f0135a6586e524143f3902f5
CRs-Fixed: 3548484