Add a check to distinguish 11BE draft 2.0 AP vs 3.0 AP
based on MSD params received in beacon/probe response rather
than assoc frame and if the params are present (draft 2.0),
then do not advertise EMLSR support in association request
as EMLSR mode will not be supported.
Change-Id: I5f3e9ce76dc634f4fea1422f0d8b9da3edbb0587
CRs-Fixed: 3560902
Add gActionOUISendSMPSFrameWithOMN to send SMPS frame along with OMN for
specified IoT APs.
Change-Id: Ida35779d11f9c6d6340afdbebeb788520fa7afdc
CRs-Fixed: 3568463
Dynamic mac address update is a special case, where the
(sta)connection can change without the vdevs corresponding
to an interface. The tx/rx happens on the def_link of the
dp_intf, which does not get reset in case of dynamic mac
addr update. Due to this, all the tx of packets might be
attempted on an invalid dp_link, leading to drop of all
the packets queued for TX.
Add support to reset the def_link of an interface during
dynamic mac address update.
Change-Id: I1e87c083f39b56525f69c225117bcce538931dbb
CRs-Fixed: 3570440
Revert core/mac/src/pe/lim/lim_prop_exts_utils.c done as part of
commit - 29fa4e5ac8.
This change is causing roaming failure and power leaks since VDEV
channel width value is read by FW.
Change-Id: I1712522d11a1ee1262c3a6d35dea3a1238812548
CRs-Fixed: 3556513
dp_tx_rx_collect_connectivity_stats_info expects dp_link
handle as an argument. Currently many of the direct callers
of this function is passing dp_intf as an argument to this func.
Fix this by passing dp_link as an argument to the function
dp_tx_rx_collect_connectivity_stats_info.
Change-Id: Icfedc1cc721de4ad0b536967dc32a6af53b86e9e
CRs-Fixed: 3571037
Since driver support special roaming and common roaming,
support common BTM roaming update to userspace, and we
can fetch the info by vendor_cmd_tool.
Change-Id: I753ded47d650ae4c9c579265485f081c16581c25
CRs-Fixed: 3568450
Currently in the function hdd_send_roam_scan_channel_freq_list_to_sme,
the num_chan variable is declared as uint8_t and is incremented
for each nested attribute PARAM_SCAN_FREQ_LIST.
If the number of attributes sent by userspace is more than max value
of uint8_t, then an integer overflow occurs.
To avoid this issue, add a sanity check to see if num_chan has reached
SIR_MAX_SUPPORTED_CHANNEL_LIST before incrementing variable.
Change-Id: I601a73a118eb65ebb8575f6ed5ed1f29d915f59e
CRs-Fixed: 3568577
Pointer 'driver_sync' returned from call to function
'__osif_driver_sync_trans_start' may be NULL and will be dereferenced.
CRs-Fixed: 3566149
Change-Id: Ibf75390bcdf246f2f96f331cb6123b78aea33203
During VDEV creation, vdev parameter "DISABLE_2G_TWT"
is populated in accordance to the value of ini
"enable_twt_24ghz" in order to indicate FW
to support TWT for 2.4GHz band.
Change-Id: I610bbaad3c5d12a8303939488ed2d7486dda404f
CRs-Fixed: 3560288
Currently datapath uses the vdev provided by UMAC for
tx of any packet. With the single-netdev-multi-vdev
model, there are chances that the vdev, in MLO case,
selected for packet TX in UMAC may not be the def_link
which datapath expects to use for tx/rx.
Hence, to mitigate, this issue, datapath will not use
the vdev provided by UMAC, but instead select a dp_link,
inside the dp_component, for tx/rx
Change-Id: I5ff4a79365b3426e1bcc6d4cac31a44058ee18db
CRs-Fixed: 3568989
This change is to update mlo manager mac
address when the station adapter is coming up.
Change-Id: Ie80683043922fdac7807c7b4ae2fd3605a41e256
CRs-Fixed: 3570015
In the api wlan_hdd_add_vlan(), key index value check
is not present which can cause buffer overflow.
Add keyindex check in the api wlan_hdd_vlan_sap()
in order to prevent the buffer overflow.
Change-Id: I87c606eed6b4e169d6e059cd5d06342c2bc0adaf
CRs-Fixed: 3560531
Currently the opaque context passed to txrx_ops handlers
is incorrectly typecasted to dp_intf. The context being passed
is dp_link handle. This leads to unwanted memory access.
Fix this by correctly typecasting the context passed to
all the txrx_ops handlers as dp_link handle.
Change-Id: I587b12056625bb68e86ecb54118bb2f6bfa62bd9
CRs-Fixed: 3569531
Current code does not have logs when a
netdevice is unregistered. Fix this by
adding a log when unregistering a
netdevice
Change-Id: I5f811093e16efcb6e286d9c0839738603eef758a
CRs-Fixed: 3564014
For emulation builds, remove ps timer stop and
reduce timeout to 11ms, allowing BMPS for
emulation.
Change-Id: Ib633f716ce4bd792a12a08652abe0eb1d36a5750
CRs-Fixed: 3526207
Currently dp_rx_pkt_thread_enqueue_cbk passed dp_intf to
dp_rx_packet_cbk, though it expects the caller to pass
dp_link context. This leads to an invalid memory access
due to incorrect typecasting.
Fix this by passing the correct dp_link context to
dp_rx_packet_cbk.
Change-Id: If37fd18d49a6d5464e01c07160a1be612e564ffb
CRs-Fixed: 3568233
When MLO AP start, lim_create_peer_idxpool_legacy isn't called, so
gpLimPeerIdxpool in pe session keeps NULL. When AP do channel switch,
MLO concurrency check failed for current AP not ignored, AP MLO flag is
cleared. When Ref sta disconnect, access gpLimPeerIdxpool to free peer
id, assert happens.
To fix it, when AP restart, ignore current AP when check MLO concurrency.
Change-Id: I3625dcd4f8c1a5020588311706faa1eb70ae8e9d
CRs-Fixed: 3548564
Support to strip WAPI IE from additional IEs for
beacon frame. Otherwise, it will have duplicated
WAPI IE, which mean one is from rsnIE and the other
is from probeRespBCNData_buff.
Change-Id: Id9708c81445fbb88e5ceb79698bff6bd02f931df
CRs-Fixed: 3562798
Currently in driver, MLO_LINK_ID attribute is sent to
userspace as part of LL interface stats even in disconnected
state. This might cause an issue in userspace. So to avoid it,
send MLO_LINK_ID attribute in connected state only.
Change-Id: Icdf5fdb57b1d52bec7b17a90a57adcee86535ffb
CRs-Fixed: 3567677
When aggregated mlo station stats are requested, driver
will get vdev station stats for all the ml links and updates
hdd_sinfo struct, which is then sent to userspace.
But, in the current implementation of the driver, if a vdev
is inactive, we return from the function wlan_hdd_update_mlo_sinfo
without updating the hdd_sinfo struct, and when active vdev tries
to update the signal field it fails because the initial value
for the signal is 0dBm which is very high compared to the link's RSSI.
So to resolve the issue, initialize the signal field with a default
value of -128dBm.
Change-Id: I7b584bf431bda38ed9154f2945c9c81fdfd96902
CRs-Fixed: 3562515
Move tsf_sync_get_completion_evt create to start during init to avoid
any issue while handling tsf vendor command as host tries to
reset the event flag in the vendor command handler API.
Change-Id: I9469abe6adcd77291bacb03a4cc79657cc233660
CRs-Fixed: 3565005
Currently, if STA is connected to 6 GHz AP and host receives
SET_FCC_CHANNEL 0/2 command it disables all 6 GHz channel
except for STA connected channel. Now if user turns on
hotspot in case of force SCC SAP tries to come up on STA's
channel depending on the ACS preference score. But host
rejects SAP start on 6 GHz channel as fcc constraint is set.
To address this issue, while computing ACS list remove 6 GHz
channels from ACS list if SET_FCC_CHANNEL 0/2 command is
received before.
Change-Id: I7acd106fe74042cd9333b3eae359675094ea8ffd
CRs-Fixed: 3563415
Add logic to check whether the context is SSR or not. If
SSR happens, restore the info which is set by vendor command.
Change-Id: I09da91e68f79e8c28f4474fb6ebe3b56dbe41da2
CRs-Fixed: 3554415
Currently, we are storing all the keys based on vdev
object. However, with n link mlo there is a need to
add all the keys based on psoc level.
This change is to add pairwise key based on psoc level.
Change-Id: Ib2b53f800eeec0694514239a5d87052accadbc33
CRs-Fixed: 3565190
As part of minidump privacy feature, enable the feature flag
WLAN_TRACE_HIDE_MAC_ADDRESS to hide 3 bytes of mac address
in wlan driver logs.
Change-Id: I054b83f2adc6c77c085fd4e0db9f0287277e2e74
CRs-Fixed: 3563936
Current code does not have null pointer checks
in functions: hdd_cm_update_rssi_snr_by_bssid,
and hdd_send_mlo_ps_to_fw.
Fix this by adding null pointer checks.
Change-Id: Iee17b8371bebbb158ba188c22a0d04cabdf12f0c
CRs-Fixed: 3562611
Currently in the function wlan_hdd_put_mlo_peer_link_id,
the hdd_ctx is dereferenced before validating it. It can
cause a potential Null pointer dereference. To avoid that,
validate hdd_ctx before using it.
Change-Id: I15dc23c594a48bc8585c3ff0d68ddd131f85706d
CRs-Fixed: 3565152
On LL_STATS debugfs request from the userspace driver is allocating
a reply vendor skb and trying to send the vendor command response
to userspace, resulting in kernel warning and rejecting the allocation.
Don't send the response to userspace if the command request is received
for debugfs.
Change-Id: I9e4374a39785883ed9092a2e7a956e8d8da2a22b
CRs-Fixed: 3555919
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