Enable SAE authentication for P2P. This allows to process and
forward the SAE auth frames to userspace in P2P_CLI and
P2P_GO modes.
Change-Id: I210f6b3db4d4d0a39f1dcb7f136ec9ac7e4c34c4
CRs-Fixed: 2933379
In the validate beacon interval logic, there are a few calls to get the
vdev MLME object from the interface manager component. However,
the component does not have a vdev object, so get it from the MLME
component instead.
Change-Id: I7333edeb6f1f0d5669605fe9e3d4fb10745d1fa4
CRs-fixed: 2928798
Move the beacon interval validation logic from the CSR module to the
interface manager module.
Add a path to send events to the SAP event handler from the MLME
module.
Change-Id: Ia86f219b3f209b53e7818a80f95b2c0555550736
CRs-fixed: 2796676
Always decrement tdls_soc_obj->set_state_info.set_state_cnt
in case TDLS is disconnected due to STA disconnection
triggered as part of SSR.
If it is not, then for SSR, after the system restarts,
this count is used and can be interpreted as second
tdls connection.
Currently, multiple tdls links are not supported, so
TDLS set state CMD (WMI_TDLS_SET_STATE_CMDID) won't be
sent to fw, although peer create and peer assoc will
go to firmware which results in crash.
Change-Id: Ib764cd04a04fab237840cdffafa9752fbe202418
CRs-Fixed: 2931199
Currently, the AP power type is only decided when the start AP
notification comes. Since ACS occurs before start AP, the power mode is
always the default of LPI. This could cause a SAP start issue if ACS
selects a frequency that is not valid for the updated power mode. Move
the call to select the power mode before either logic is invoked.
Change-Id: I6265dc242a8fae9174dc7efcf7154bdb2cf82a47
CRs-fixed: 2928987
Modify few ring and descriptor sizes for prealloc
to support the maximum values configured via ini.
Change-Id: Ifc2976c3f9ab271c7740d4a97470d455a8ee1ba7
CRs-Fixed: 2929143
There is a mismatch between host and fw for the input paramters of
TPUT DEBUG command.
To address the above issue send the fw expected value.
Change-Id: I15e14863c373d849d11eff90b75085cb451053c9
CRs-Fixed: 2928515
In the current implementation of the function wlan_hdd_get_peer_stats,
if the status returned by the call cdp_host_get_peer_stats is not
successful, then it returns from the function without freeing the
memory allocated to peer_stats. This causes a memory leak. To avoid
this issue, free the memory properly before returning from the function.
Change-Id: Ia002be4cf6c0b93eba2dc65d96d63e6c0eafad90
CRs-Fixed: 2932487
Since the ll_stats buffer is allocated during debugfs file open
it needs to be freed in file release but, DSC vdev op-protection is
not needed for releasing the buffer. Adding DSC protection will lead
to resource leak because DSC will reject file release op call
if it is in the middle of vdev/psoc/driver transition.
Hence, properly free the ll_stats memory during file release.
Change-Id: Id4c5ee99283a16232b0756341c4422f6f4397667
CRs-Fixed: 2931104
Intra vdev operations was moved to interface
manager component as part of the connection
manager FR. Cleanup the legacy code in HDD
and SME because interface manager is component/
functionality is enabled by default on mainline.
Change-Id: I6aebec6b47231484dc61e8c9bb3956ea19d09b5e
CRs-Fixed: 2844047
Currently, NDI is started in 11AC mode through the API
hdd_ndi_start_bss(). Max supported mode(e.g. 11AX) is picked by
csr_roam_get_phy_mode_band_for_bss() if either of the "ini param
gDot11Mode" or "input profile mode" is set to AUTO.
But if the ini param gDot11Mode is configured as 12(11AX)
explicitly, csr_roam_get_phy_mode_band_for_bss() picks the mode
sent by hdd_ndi_start_bss() which is 11AC(or the min out of
these two).
So, start the NDI in AUTO mode to let the mode be decided based
on the ini param gDot11Mode and firmware support.
Change-Id: I404ea7a4e042262032c17e5c736501146910d084
CRs-Fixed: 2931071
Allocation failed as flow table size is huge.
To Fix this, moved the ft table to prealloc memory.
Change-Id: I27ee62b1bcfced563f45cb80e11978cb3dd46183
CRs-Fixed: 2926899
In case of TDLS peer connected if SSR happen, LIM try to flush
TDLS peer with del_sta->respReqd as false.
With respReqd false del_sta is freed in the switch case, but
is used outside the switch case, leading to use after free.
Fix is to use the local vdev_id instead of del_sta->smesessionId.
Change-Id: I7e08733cf42ef619b3fa0d6726ee1acc2012c6a4
CRs-Fixed: 2929448
Currently single request context is used for NAN discovery and NDP.
If NAN disable request is sent to the FW and FW sends NDP end
indication and didn't send NAN disable indication. In this case,
wait event for NAN disable indication will be completed as part of
NDP end indication. This is because same request context is used for
both NAN discovery and NDP.
To resolve this, use separate request for NAN discovery and NDP.
Change-Id: Ic42e32c5cfd818188ca96d6cba3cbec1ed85a3ec
CRs-Fixed: 2921287
Send QCA_WLAN_VENDOR_ATTR_TWT_STATS_STATUS attribute in
the driver TWT get stats NL response.
Change-Id: I7c447a8d2841f3bb0143f9ac6f957b1f78fa1e21
CRs-Fixed: 2923086
If in SAP peer keep on connecting and disconnecting without
completing the EAPOL (e.g. due to wrong password), scan logic will
assume that EAPOL is in progress for long time and assert.
To fix this false alarm reset scan reject params on peer connect
and disconnect.
Change-Id: I067b5be39504651ffe4e29e1cc927ad0bc3a06c0
CRs-Fixed: 2928817
psoc_cfg is pointing to the address of a structure variable,
which will never be NULL.
To address this remove the NULL check.
Change-Id: I12f539ce2feace550c403ffc996fa315994470a7
CRs-Fixed: 2911862
In case of Non-DBS HW, don't allow channel to switch
to DFS channel or 160 Mhz BW in 5 Ghz, if STA is not
connected.
This is done because in Non-DBS HW, Monitoring mode
is disabled as sta_sap_scc_on_dfs_chnl is forced to
1.
Change-Id: Ie30a38a6c5155ca2b6f11f602fb51a43ca2e323e
CRs-Fixed: 2916799
Currently latency detection timer timeout and threshold values are
used as 2 and 1.9 seconds respectively. After going through few
issues, 2seconds found to be too aggressive and hence increasing
these values to 4 and 3.9 seconds respectively.
Change-Id: Ie9314b517a7a8e47460effc86e5b3fb939dcbb33
CRs-Fixed: 2921474
Driver report beacon/probe rsp frame in wlan_hdd_inform_bss_frame
to kernel. "boottime_ns" field needs be filled by "scansystimensec"
in nanosecond, so assign "boottime_ns" (NS) from scan entry to
bss_description instead of "scan_entry_time" (MS).
Change-Id: Id22f119f41f8cf60a8aadc9e04c4f18424c88413
CRs-Fixed: 2870827
Currently, active NDP sessions are tracked on the platforms
where NAN concurrency handling is supported by host through policy
mgr. Roaming is disabled when an active NDP session is present and
re-enabled when the last NDP session is teardown. But this tracking
is not supported on legacy platforms(which don't advertise either
WMI_SERVICE_NDI_DBS_SUPPORT or WMI_SERVICE_NAN_DISABLE_SUPPORT) as
policy mgr based tracking is not available.
So, disable roaming when the first NDP connection happens and
re-enable when the last peer is departed from HDD APIs in such
legacy platforms.
Change-Id: I6309af12eab9222dc34a79566f7830b7763826de
CRs-Fixed: 2846541
Currently in the WoW design of Moselle, EXT GRP IRQs are
enabled before sending SMP2P power save exit message is
sent to the FW. Because of this, any pending IRQs in the
GIC will immediately fire and could race with the SMP2P
power save exit logic. Any access to the registers done
before power save exit would result in system errors.
Enable the EXT GRP IRQs after sending power save exit
command will fix the problem.
Change-Id: I16f580279b5aa24861ab5111b9c13db3e38063f4
CRs-Fixed: 2925554
For PMF connection, when host gets assoc response fail with reason
"try again later" host runs PMF comeback timer to send assoc request
on pmf timer expiry. While PMF timer is running, if host gets
deauth/disassoc frame then host performs deauth/disassoc. As part
part of deauth/disassoc host changes lim mlm states to WT_DEL_BSS/
WT_DEL_STA and after moving vdev to down state host processes
DEL_BSS/DEL_STA response in LIM. At this stage expected lim mlm
state is WT_DEL_BSS/WT_DEL_STA but if the pmf timer expires the
pmf timer callback function changes lim mlm states to mlm states
stored in comeback timer info struct without checking present lim
mlm states.
Thus while processing DEL_BSS/DEL_STA response, host fails to get
PE session from vdev ID and lim mlm state WT_DEL_BSS/WT_DEL_STA.
And disconnect indication to sme fails. To fix this, host stops
pmf comeback timer while processing deauth/disassoc and change
lim mlm state after checking present lim mlm state.
Change-Id: If0094fcdb8254cb4271b5c46b4d42531dc9bc516
CRs-Fixed: 2925184
When the country code is updated, there is logic to check if a restart
of the adapter is needed. In this logic, there is a call to see if the
home channel is disabled. Sometimes, the home channel is 0 since it
has not been set yet, causing extra debug prints. To avoid this, ensure
the home channel is set before calling other APIs.
Change-Id: I58021f7f703761450c73a524c5acb51ddc7ad5ef
CRs-fixed: 2923754
In some case assos req/res length can be less than their respective
fixed fields due to which they get assigned to negative value
but as they are unsigned variable these req/res lengths gets convert
to large positive values. So during page memory allocation for these
lengths, page memory allocation failure happens.
To address the above issue add checks for both assoc req/res lenghts
before calculating the value for them.
Change-Id: Iff404e72420b27bc2a467a25fe530f135ee97c91
CRs-Fixed: 2903644
Enable DUMP_REO_QUEUE_INFO_IN_DDR to send cache flush cmd
to REO using cmd: iwpriv wlan0 txrx_stats 34 0
Cache flush cmd will invalidate the h/w cache and ensure
that h/w writes to DDR.
In the cmd callback, the reo status tlvs are processed
and the vaddr of the reo queue desc is used to read the
queue information from DDR and dump it in the host driver logs.
Change-Id: I4521b777d13c490ac687f9ff673182262bc52f62
CRs-Fixed: 2899824
In QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION cmd parameters,
If attribute QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION is missed,
should return 0 instead of failed.
Change-Id: I5e570b9237768800e06d839814919d058a5e1d1f
CRs-Fixed: 2926104
By default, the driver fills the roam scan scheme as none for
all the triggers in WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
but if the roam scan scheme bitmap is set for particular
trigger, then for the corresponding trigger the roam scan scheme
should be sent as ROAM_TRIGGER_SCAN_MODE_PARTIAL.
Send ROAM_TRIGGER_SCAN_MODE_PARTIAL if roam scan scheme bitmap is
provided.
Change-Id: I82f16f7c0e24be472c95278eb3085f7d2623b63a
CRs-Fixed: 2914142