Currently if the FW supports the dynamic nss update feature,
the driver rejects the command to change the nss, but
there can be case scenarios where this update is required.
Fix is to accept the command in disconnected state, and
update the vdev specific ini of nss, and also update the
ini, and dynamic configuration in vdev mlme obj, which
is used in dynamic nss update.
Change-Id: I9cfa7f112159148733f06bf479987928f112901f
CRs-Fixed: 2404262
Set the correct channel bonding parameter with user configured
value to enable/disable the channel bonding mode.
Change-Id: I38ff74fd5a1786a1446f36ca619a929c84f9446a
CRs-Fixed: 2394522
When LFR3 compile time flag WLAN_FEATURE_ROAM_OFFLOAD is
disabled, compilation of wlan driver fails as btk_key is defined
under WLAN_FEATURE_ROAM_OFFLOAD but sme_add_key_btk tries to
access this value irrespective of the compile time flag.
As the caller of sme_add_key_btk, calls this only if the
function hdd_is_btk_enc_type returns true and this function
hdd_is_btk_enc_type() is conditionally compiled based on
WLAN_FEATURE_ROAM_OFFLOAD, its better to include sme_add_key_btk
only if WLAN_FEATURE_ROAM_OFFLOAD is enabled.
Change-Id: I51315ed3bff8979120b86f75c06362a1c8a5658c
CRs-Fixed: 2408418
In wma_vdev_attach, if peer failed to create, it will detach
vdev, but without reset txrx_vdev_handle to NULL, so vdev
is still used in cdp_data_tx_cb_set.
Reset txrx_vdev_handle to NULL in wma_vdev_attach if create peer
fails.
Change-Id: Ie3963625ed7206eb1737f5820ec58d84f2ca9084
CRs-Fixed: 2407717
During LFR3, Driver neighbor roam state keeps
eCSR_NEIGHBOR_ROAM_STATE_CONNECTED, don't enter
eCSR_NEIGHBOR_ROAM_STATE_INIT, no chance to call
csr_init_occupied_channels_list, so when candidate AP changes,
can't update in occupied channnels list.
Change-Id: Iadf60a013acbac3770108b4abcdc3d5b404daaf5
CRs-Fixed: 2406298
Peer and vdev leaked during SSR, Helium/Rome SSR is different.
Helium:
FW assert will indicate to CNSS driver, then PLD_FW_DOWN
is sent, in wlan_hdd_pld_uevent, target ready is cleared and
RECOVERING is set, so wma_force_objmgr_vdev_peer_cleanup can be
called, no such issue.
Rome:
FW assert will indicate to wlan driver directly, in
ol_target_failure, only RECOVERING is set, target ready isn't
cleared, wma_force_objmgr_vdev_peer_cleanup can't be called,
so peer and vdev leaked.
Change-Id: I6ecf6cc439f931d8da67972c543376b2148982af
CRs-Fixed: 2403501
While handling ll stats information there is a possibility
of OOB read in hdd_populate_wifi_signal_info api as
FW is giving num_chan info as uint_32 and host has
saved into int_32 type variable which may lead to an
extremely large positive number which is getting used as
index of for loop to populate signal info in skp which may
lead to OOB read.
Change-Id: I032eb465db30ee9e3a7ba0c4f017ed781264c47d
CRs-fixed: 2383605
Currently the driver accepts the values of 1,2
for MCC to SCC switch , which does not take effect
as they are not used in the sap switch channel,
thus the same are of no use.
Fix is to cleanup these as they are of no use, and
do not give the desired output too.
Change-Id: I604d83aa59735362828266584220016aac124b1a
CRs-Fixed: 2404563
The Linux Coding Style frowns upon mixed-case names so rename HDD
local variable seqNo to be compliant.
Change-Id: If2f897ffe65aabac96616e844b424d58b3eb267d
CRs-Fixed: 2408057
The Linux Coding Style frowns upon mixed-case names so rename HDD
local variable peerMacAddr to be compliant.
Change-Id: I0f3cf3bd7b2a7a5d0da2c374ce1e2bdb0d7cac09
CRs-Fixed: 2408056
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable eseBcnReq to be
compliant.
Change-Id: Ie09dcfaf5ee4d7ba5502f7b240bdc5551dc184be
CRs-Fixed: 2408054
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable uActionPeriod to be
compliant.
Change-Id: I9aee7d6d943f687644eec10dd051f79132b919bf
CRs-Fixed: 2408055
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable uRate to be
compliant.
Change-Id: I8e43031577a2aac24b3b31de9e8d289d1f641927
CRs-Fixed: 2408053
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable ucRmcEnable to be
compliant.
Change-Id: If63d925ba196fc33e3d7afa3bc53a9320db71c54
CRs-Fixed: 2408052
The Linux Coding Style frowns upon mixed-case names so rename HDD
local variable tempInt to be compliant.
Change-Id: I2048384d50d1dcdbeaa870cc582b8dc91853aec4
CRs-Fixed: 2408051
The Linux Coding Style frowns upon mixed-case names so rename HDD
local variables tempByte and tempBuf to be compliant.
Change-Id: Ib5ee8a312616da08d61af66e6ae51a6d11d4e4c9
CRs-Fixed: 2408050
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable pVendorSpecific to be
compliant.
Change-Id: I2aefa76f9fdf02dbac109e568b89cf0e8606fd6f
CRs-Fixed: 2408049
The Linux Coding Style frowns upon mixed-case names so rename HDD
local variable Oui to be compliant.
Change-Id: I4ba5add83e227d73e334488d5ced97fa32b6f066
CRs-Fixed: 2408048
The Linux Coding Style frowns upon mixed-case names so rename HDD
local variable ibssModifyIE to be compliant.
Change-Id: I6e04ac7c32d10e99da4ea0ba80685fa365ce48d9
CRs-Fixed: 2407330
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable pNumChannels to be
compliant.
Change-Id: If1b27fd188eebd48a3155d57effe27b5c6b00559
CRs-Fixed: 2407329
The Linux Coding Style frowns upon mixed-case names so rename HDD
local variables ChannelList and numChannels to be compliant.
Change-Id: I5fe27f96d2e4cb41a488e6a3a8cc8a52be008755
CRs-Fixed: 2407328
Currently hdd_parse_user_params() has a few places where it is not
compliant with the Linux coding style, so refine the code.
Change-Id: Ic18e1dfd82e4a8d820fb871801ead464bc146d04
CRs-Fixed: 2407327
The Linux Coding Style frowns upon mixed-case names so rename HDD
local variable dataEnd to be compliant.
Change-Id: If3f44f677eb14849b0935463f7fa0d05565028b3
CRs-Fixed: 2407326
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable pBuf to be compliant.
Change-Id: Ie24b53fc3efaa8d0940a369a97ebec4ed434457e
CRs-Fixed: 2407325
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable pBufLen to be
compliant.
Change-Id: Id9031a9bda31d838f0fd095dcda6ad1a00685f84
CRs-Fixed: 2407324
The Linux Coding Style frowns upon mixed-case names so rename HDD
local variable rateUpdateParams to be compliant.
Change-Id: Ie46a322046ce864d9c6dcfcb5057e92d99c6a570
CRs-Fixed: 2407323
As a result of configuration convergence the local variable pConfig in
wlan_hdd_set_mc_rate() is assigned but never dereferenced. Since this
is obsolete, remove it.
Change-Id: I8f23fe4ce89a0946e9a3a307fa8451646f0c76d6
CRs-Fixed: 2405775
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable pRate to be
compliant.
Change-Id: Ib17924063a07ccdace7ece61c4683937500c2387
CRs-Fixed: 2405774
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable pRateStats to be
compliant.
Change-Id: Ic617f9a67fdf336c09a1292248676d377fbfc7f3
CRs-Fixed: 2405773
Host presently stores NAN Peer specific info, such as number
of active NDP sessions, in an array inside vdev private object.
The array uses Peer index from HDD connection info. Instead,
use object manager to define peer private objects to store
this information.
Define NAN peer objects for storing NDP Peer info
Change-Id: I43d9339d06acc0eff61cafb337ccb084c372c7e1
CRs-Fixed: 2405507
Change I16679abc7b3b61e6814fc1b0f13c6bc0e0fb7a39 ("qcacmn: Replace
session_id in roam_scan_filter_params") is renaming the legacy
identifier session_id to vdev_id, so concurrently change the usage in
the legacy project.
Change-Id: Ibeab45d4badbeda6baec6a53ab4ec561dd70ccd9
CRs-Fixed: 2407403
With the recent addition of osif_driver_sync APIs, DSC use is abstracted
behind a common interface. Migrate HDD to the new interface by updating
driver transitions to use the new APIs.
Change-Id: I394f007dd5485cd8d22aee84af74f8854ed54bb6
CRs-Fixed: 2408211
To bring OSIF driver synchronization in line with recent VDEV and PSOC
enhancements, add osif_driver_sync APIs. These allow for atomically
acquiring the driver synchronization context, and protecting various
call flows via DSC primitives.
Change-Id: Iba8df54bb1a3894118adf3daf1d0de8a554284ae
CRs-Fixed: 2408210
A previous change (Ibe982d1b52647b78dbcdbc2f9dcef609a6b2c02d) introduced
forward declarations in hdd_main.c. Move the relevant logic so as to
avoid needing these forward declarations.
Change-Id: I2bbd95a7eb51e8288eeb121923e9cecc7e238886
CRs-Fixed: 2408209
A kernel module parameter's change callbacks can be invoked before the
module's init function has completed. In the Wlan driver, this leads to
a race window where the driver's mode can be modified before it is safe
to do so. Abstract the driver mode change logic behind a callback
registration mechanism that allows the driver to opt into handling the
driver mode change once it is safe.
Change-Id: Ibe982d1b52647b78dbcdbc2f9dcef609a6b2c02d
CRs-Fixed: 2408208
During roaming, the firmware updates the host driver without
the next erp sequence number. Currently the host driver updates
the erp sequence number in roam info without checking if the
connection is FILS connection. This results in potential NULL
pointer dereference in case of non FILS connection.
Add check to see if session->pCurRoamProfile->fils_con_info is
not NULL before updating the erp sequence number.
Change-Id: I96541528d179b2b895a3f7f581e073e04bce76af
CRs-Fixed: 2405492
Previously I06f948d8de4b8a98bfe66e18ae38b1040204fdb4 ("qcacld-3.0:
Replace wlan_hdd_validate_session_id()") replaced all instances of
wlan_hdd_validate_session_id() with wlan_hdd_validate_vdev_id().
However this change left behind the wlan_hdd_validate_session_id()
macro. Subsequently I7584fb5db036d1643bd7d56076d30a0c75008a98
("qcacld-3.0: Handle OWE info update from hostapd") added a new
instance of invoking wlan_hdd_validate_session_id(). So rename the new
instance, and remove the macro to prevent the addition of any future
instances.
Change-Id: I132a749d2f694b44296a44f2aa31e9aec5f0878f
CRs-Fixed: 2408166