Currently, WMA maintains vdev up flag but other component
also need this flag to check vdev up status. Hence as part of
this fix removing this flag instead using Objmgr Vdev mlme state
for same purpose.
Change-Id: If1922791e71c07621708755de67fbcc2f7a469cd
CRs-Fixed: 2014026
Currently WMI_ROAM_EVENTID is handled in work queue context whereas
WMI_ROAM_SYNCH_EVENTID is handled in MC Thread context. This can
cause handling of WMI_ROAM_SYNCH_EVENTID followed by WMI_ROAM_EVENTID
if both events are received from firmware almost at the same time
which can result in setting roaming_in_progress to true even after
roam synch event handling and can block further scan requests.
Fix this by handling both WMI_ROAM_EVENTID and WMI_ROAM_SYNCH_EVENTID
in same MC Thread context.
Change-Id: I722cea54fa2126cb5d647f3a26371ca1c9a0f5a2
CRs-Fixed: 2014404
qcacld-2.0 to qcacld-3.0 propagation
In the current code, when STA receives CSA IE then host look and
operate on extended channel switch element eventhough our own
channel-bonding state is not enabled. This causes setting up of
secondary subband and state in new channel during CSA eventhough
the secondary channel offset is set to zero in CSA beacon.
Fix is to set the Secondary Channel Offset if our own channel
bonding state is enabled.
Change-Id: I82ca9737f49937176801bc4cbbdd3e2fb77d4749
CRs-Fixed: 1080260
Firmware may send STA kickout event even during association. This
change the limSmeState to eLIM_SME_WT_DEAUTH_STATE from
eLIM_SME_WT_ASSOC_STATE. Due to this assoc confirm is not processed
and HDD remains in connecting state and thus all subsequent scans
fails.
Fix this by processing STA kickout event only in
eLIM_MLM_LINK_ESTABLISHED_STATE
Change-Id: I75b4814aade80ca74ef9aef67ecea99a3bc15148
CRs-Fixed: 2012727
Add changes to get/flush scan results. Also add support to
convert legacy filter and scan entry to converged one and vice
versa.
Change-Id: I590745af3943a8975fb0644d02e58b2133c9f1cb
CRs-Fixed: 2013212
Add changes to correct max value for passive monitor interval for
adaptive dwell time.
Change-Id: Ib59e0d5843eda37a42733b5ec81ed3a70455c449
CRs-Fixed: 2014385
Some functions/structs are defined only when
QCA_CONFIG_SMP is enabled, however, they
are also used when QCA_CONFIG_SMP is disabled,
which will cause compilation errors.
Move the definition of these functions/structs
out of macro QCA_CONFIG_SMP.
Return type of cds_alloc_ol_rx_pkt() is not
void, but there is no return statement for
it when QCA_CONFIG_SMP is disabled.
Add 'return NULL' for cds_alloc_ol_rx_pkt().
Change-Id: If6f4298c27f0089219bbceb4a9d0ba1a295f8dcd
CRs-Fixed: 2010568
qcacld-2.0 to qcacld-3.0 propagation
Add an ini option for configuring rate for tx mgmt frame.
It sets the existed wmi cmd: WMI_VDEV_PARAM_MGMT_TX_RATE right
after vdev created. Since FW resets mgmt during vdev up, also
set mgmt rate after sap/sta vdev up.
CRs-Fixed: 1103895
Change-Id: I93bbe0978963abf0b887dbf2add5bfc2912f6de1
qcacld-2.0 to qcacld-3.0 propagation
Add ini config option to disable abg rate for tx data.
Change-Id: Ideb1fd6471c6fbdade99b4c7c533cb1bf3bf206c
CRs-Fixed: 1111787
1. The paths for driver to get ini and fw files
are incorrect for QCA SDIO chip on Dual-WiFi
platforms, with wrong prefix or no prefix.
Correct prefix for ini file, from '<mod_name>'
to '<chip_name>/'; add prefix '<chip_name>/'
for fw files.
2. For QCA9377, there is a special cnss API for getting
fw names, it's cnss_get_qca9377_fw_files().
Use the right cnss API to get fw files for QCA9377
Change-Id: Ia7616153b6823e9550703e649c7fc21ab306ca07
CRs-Fixed: 2008217
qcacld-2.0 to qcacld-3.0 propagation
The ol_tx_desc_free might access the invalid content of vdev referred by tx
desc, since this vdev might be detached in another thread asynchronous.
Go through tx desc pool to set corresponding tx desc's vdev to NULL
when detach this vdev, and add vdev checking in the ol_tx_desc_free to
avoid crash.
Change-Id: I3afa63659e047bbbf008440335fb71c8295ca353
CRs-Fixed: 1087690
Reason for association failure due to timeout is not sent
to user space.
Add changes to send association failure status code to
user space using cfg80211_connect_bss or
cfg80211_connect_timeout.
Change-Id: I060bdfdfd7875c7e945d1b2bf011c14a680b24f1
CRs-Fixed: 2012804
qcacld-2.0 to qcacld-3.0 propagation
If disconnect is already in progress because of deauth received
from AP when disconnect is also received from supplicant, there
is a possibility that completion variable disconnect_comp_var
gets reset in hdd_DisConnectHandler because of disconnection
in progress from AP before completion variable disconnect_comp_var
gets initialized in wlan_hdd_disconnect to handle disconnect from
supplicant. This can cause a delay of 5 seconds eventhough disconnect
was already happened. This waiting is not required when previous
connection status was not eConnectionState_Connecting. Fix this delay
by adding a check to avoid waiting when previous connection status was
not eConnectionState_Connecting.
Change-Id: I58ac638622c5164fa1e9fe45c52ebf60fab2340f
CRs-Fixed: 1093562
Current driver is packing IEs associated with association request
out of order which is violating 80211 spec.
Fix the order in association request based on element ID.
Change-Id: Ie7a69ce2999d5a5d8ba88bac1e988f0a41dd10a6
CRs-Fixed: 2006920
In function sme_get_beacon_frm, result_handle maybe used uninitialized.
Fix this by initializing result_handle with NULL value.
Change-Id: Ia1437b6adf1bbcfe7d2d87b42a252e4a0ee6f5ea
CRs-Fixed: 2008665
Check for HDD context validity for SAP Net dev stop ioctl to
resolve crash during SSR.
Change-Id: I09c57da5db4b072a8066f3c2b22c748cd79c293c
CRs-fixed: 2007350
During SSR firmware is reloaded and FW responses for previous
vdev sessions are not received. Thus cleanup FW response timers
on SSR.
CRs-fixed: 2005625
Change-Id: I95e2d85b29da240d372039deeece9db6add74edb
During SSR firmware is reloaded and FW responses for previous
vdev sessions are not received. Thus check for SSR before host
crash trigger on FW timeout.
Change-Id: I8be8b7264c133fa115a5b6ac6a3b865f7040e739
CRs-fixed: 2005995
IPA resource information allocated during cds_open must be
updated to IPA HW before configuring to FW in cds_enable.
Thus remove IPA HW configuration from HDD IPA init function
to do this action at every reconfiguration.
CRs-fixed: 2004133
Change-Id: I8761c06c1e84b68addbdcddccb4c652166c4c306
SSR can happen during SAP initialization. Thus check of SAP
initialization complete before attempting to restart SAP instance
during SSR.
Change-Id: Ib26116cfc33684035df692ae6c7b5d83cb0a27b8
CRs-fixed: 2005281
qcacld-2.0 to qcacld-3.0 propagation
Presently, during subsystem restart Host is sending sap restart
indication to framework(via carrier off) to do SAP unload/load.
But SAP restart functionality is removed in framework when the
carrier off event is received, leading SAP fails to come-up
after subsystem restart.
Add support in driver to do SAP restart internally without sending
restart indication to framework, during subsystem restart.
This feature is controlled by ini param 'gEnableSapInternalRestart'
and by default it's enabled.
Change-Id: I76cb73c1887d4d8124cd9a1c29b9aac47642072a
CRs-Fixed: 1105651
WLAN IPA UC data path initialize should be sync up with UC load
status. If UC driver is not loaded when WLAN driver loading,
WLAN UC data path initialize should be delayed till UC driver
will be ready
Change-Id: I297a53d1913ec4d88a5c51794959dcfebf85b45b
CRs-fixed: 786656
If ADD TS is sent it will be an active command in SME till driver gets
resp from peer or timeout. During this phase if LFR3 roam sync event is
received from firmware then PE session cleanup will be done and
SME/CSR is updated with new BSS info. In LIM, 'gLimAddtsSent' flag is
set while processing add tspec request and 'gLimAddtsSent' flag will be
reset once add tspec response received or addts rsp timeout.
This timeout doesn't expire because as part of LFR3 roam sync,
PE delete session is done which stops the timer. Because of this
'gLimAddtsSent' flag is not reset and add tspec response is not sent to
SME, this blocks further SME commands as addts req is not removed from
the active command list. This also blocks PE msg processing as
gLimProcessDefdMsgs is set to FALSE when addts request is sent.
This is not reset as the timer is killed as part of pe delete session.
To address this issue, call lim_process_sme_addts_rsp_timeout()
to reset the 'gLimAddtsSent' flag and send addts rsp timeout to SME.
Change-Id: I7cd1f38fa317bb0a10e22de242aaf42ff62641fd
CRs-Fixed: 1104590
'fast_roam_enabled' flag does same as 'do_not_roam' flag which is used to
track whether roaming is enabled or disabled per CSR session.
As per code 'do_not_rome' flag alone is sufficient to track roaming status
per session.
Fix to remove redundant 'fast_roam_enabled' flag to allow vendor roaming.
Change-Id: Id7f6e547b883c932f615cfbf89eeb30d47d6408e
CRs-Fixed: 1105973
qcacld-2.0 to qcacld-3.0 propagation
Add change to validate no.of RIC data desctriptors
before using it to access RICData array.
Change-Id: I0ac4e9e1eb61690b3c13a74fa0edfc5af13d88c6
CRs-Fixed: 1102327
qcacld-2.0 to qcacld-3.0 propagation
Currently host prints PTK and GTK key information in default logs.
Fix to remove the debug logs which prints sensitive key information.
Change-Id: I358b09b77d23eeb5da7d826859ae119a8ea4af8a
CRs-Fixed: 1097857
qcacld-2.0 to qcacld-3.0 propagation
Driver will not allow scan if connection is in progress.
Add driver changes to generate bug report and trigger SSR
if current session id, rejected reason matches with last rejected
sesssion id, reason and time delta between current time and
last rejected timestamp is greater than 5 mins
Change-Id: Ic64a6fd443104b291b5b7f6cda3bfbe8273c671a
CRs-Fixed: 1081489
Avoid NULL pointer dereferencing of mpdu_buf by putting NULL
check before using it in htt_rx_restitch_mpdu_from_msdus func.
Change-Id: I726891d4fc1f6928cbda911932dbbcd2ec681b63
CRs-Fixed: 2008901