Fix KW issue in connection manager.
-- In lim_cm_create_session() do not use pe_session after null check.
-- In lim_send_peer_create_resp() and wlan_hdd_cm_connect() add
vdev null check.
Change-Id: I8e78e7209d330b5551293af6ff5914dc696f6093
CRs-Fixed: 2933839
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
Stop the BW monitoring and stats collection for IPA before
disabling the pipes. Add this to the the case where WLAN
is in SSR and IPA pipes are being disabled when last client
is disconnecting.
Change-Id: I29e8ec6d73287cf601f829e74ba03aa611564d3a
CRs-Fixed: 2922079
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
Since it has memory limitation on sdx platform,
also it need different TX buffer configuration for
different case, which require the IPA tx buffer
numbers to be configurable but not only be power
of 2. So did such change for Genoa to meet different
IPA TX buffer config.
Change-Id: I4482e8f37957d3bfcd82645cf0dec0257ad80e80
CRs-Fixed: 2865851
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
Use the global lock instead of the init_deinit_lock in the ipa_obj to
avoid access the invalid memory with ipa_obj->init_deinit_lock since
the ipa_obj will be freed after driver shutdown.
Change-Id: I98a844456873f60213fae19c237bb08b76b4846c
CRs-Fixed: 2887487
At present check SAP on DFS is based on primary channel,
it doesn't work for 160M case. Use "sap_operating_on_dfs"
to do the check before deliver CAC Start event.
Change-Id: I3896dc2738da16b9bff0d54826191d0edcc251a4
CRs-Fixed: 2929729
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
Address below corner scenarios for dual sta roaming:
1. Initialize primary interface vdev id
with WLAN_UMAC_VDEV_ID_MAX.
2. Enable roaming while processing set primary interface
vendor command irrespective of dual sta roam policy.
3. Disable mcc_adaptive_scheduler before sending
WMI_RESMGR_ADAPTIVE_OCS_ENABLE_DISABLE_CMDID to FW and
enable it if host receives dual sta policy as unbiased.
Change-Id: I8e5254c6f9053bd5fe7f925af4b577e76c9b9a2e
CRs-Fixed: 2928870
Presently the roaming design is to support roaming on
both the STA in DBS mode (with different bands).
With commit I60f6bdb7df4d9eece4fd14abe1fab2d5644d47f1,
Driver allow STA2 connection to any available AP(s).
So in case if STA2 connectes in MCC mode then host
should not allow roaming on non primary STA iface.
Change-Id: I84c77644c6023322ac77e307b06be70ec0f58ed5
CRs-Fixed: 2928804
If STA + STA connected in MCC, FW should distribute
the duty cycle between primary and secondary connection
in 70:30 ratio.
Quota for the 2nd role is calculated as 100 - quota of
first mode.
Change-Id: I36ab9a9717da1e1f0ff0e0e11a18681c97ed6c58
CRs-Fixed: 2927460
If there is more than one STA iface concurrently active
and one of them is marked as a primary iface. The host
received CONCURRENT_DUAL_STA_POLICY vendor command with
policy PREFER_PRIMARY. Then Don’t consider PCL weightage
for an STA connection. Due to this host/fw allows a new
connection either in DBS, SCC or in MCC.
Change-Id: I400165f8dd3ab7b94b2cb808f8b34b34d6d42fee
CRs-Fixed: 2929015
obj_mgr_alert() function is currently used in
wlan_objmgr_iterate_log_del_obj_handle() to print and is causing
spinlock to be held too long and timing out. Thus, increase the
periodicity of LOG_DEL_OBJ_TIMEOUT_VALUE_MSEC to 10 seconds.
Change-Id: I48a7b2ce031393493b9d19c9dd365a725c60284e
CRs-Fixed: 2930279
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
For api's in wlan_hdd_rx_monitor.h, replace target
specific conditional compilation with feature specific
conditional compilation.
CRs-Fixed: 2819131
Change-Id: I2678192ad5dbb1a4515bd04e67ca23f71f92a2d1
Since driver is setting the same flag WMI_REQUEST_PEER_STAT to
firmware when it tries to fetch TYPE_CONNECTION_TX_POWER and
TYPE_CONGESTION_STATS. When the fw reports the event, it needs
to filter the last event if they come back too close.
Change-Id: I7b054470c3986b7b363f6948fbd3d73e1e8c718d
CRs-Fixed: 2930365
Because invoking function hdd_medium_assess_init() and
hdd_medium_assess_deinit() are not paired with event
the eSAP_START_BSS_EVENT and eSAP_STOP_BSS_EVENT.
To address this, move hdd_medium_assess_init() to function
__wlan_hdd_cfg80211_start_ap().
Change-Id: I0f778469f0d0fa35089ab0ee884892743935c36e
CRs-Fixed: 2927454
Reset scan reject params on roam abort and also if connect
lead to roam invoke release the wake lock as we do in legacy
case, if required roam invoke can use new wake lock.
Change-Id: Ieb870e2598687a1418e896d761f19a198a03a98f
CRs-Fixed: 2929311
Currently below implementation is missing in the driver. So driver
is failing to associate in 11be. Add this implementation to support
11be association in the driver
- Filling EHT IEs in probe response
- Sending EHT mcs capabilities while creating the peer
- Fix compilation issues when 11BE feature is enabled
- Add the the 320MHZ to wma_chan_phy_mode
Change-Id: Ib535db413d5578840feed7fd18bb00e5e28cfb6f
CRs-Fixed: 2926471
Allocation failed as flow table size is huge.
To Fix this, moved the ft table to prealloc memory.
Change-Id: I27ee62b1bcfced563f45cb80e11978cb3dd46183
CRs-Fixed: 2926899
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
Currently, the driver restricts the connection of the 2nd
STA to channels on the other band of the 1st STA connected
band. As per the new requirement, the host should allow STA2
connection to any available AP(s), if primary iface is
configured.
Change-Id: I60f6bdb7df4d9eece4fd14abe1fab2d5644d47f1
CRs-Fixed: 2915733
Add support to primary STA iface when there are more
than one STA iface concurrently active via the
SET_WIFI_CONFIGURATION vendor command.
Below attribute associated with this vendor command to
give indication to host to set primary interface:
QCA_WLAN_VENDOR_ATTR_CONFIG_CONCURRENT_STA_PRIMARY.
Set indicates that the specified iface is the primary
STA iface.
This configuration helps the firmware/chip to support
certain features (e.g., roaming) on this primary interface,
if the same cannot be supported on concurrent STA ifaces
simultaneously.
This configuration is only applicable for the STA iface and
gives the priority for it only over other concurrent STA
ifaces. 1-Enable, 0-Disable.
Change-Id: I2bc7d8880c78c0c05e824f58aadacd84369d1880
CRs-Fixed: 2915728
Add support to configure the concurrent session policies
when multiple STA ifaces are getting active via the
CONCURRENT_DUAL_STA_POLICY vendor command.
Possible values associated with this vendor command are:
1. QCA_WLAN_CONCURRENT_STA_POLICY_PREFER_PRIMARY:
This indicates host to give preference to the Primary
STA interface while selecting the connection policies
(e.g., BSSID, Band, TX/RX chains, etc).
2. QCA_WLAN_CONCURRENT_STA_POLICY_UNBIASED:
This indicates connection policies for the subsequent STA
connection shall be chosen to balance with the existing
concurrent STA's performance.
Change-Id: I56994a182bb54adca57c3fc8fce9963b5db37b79
CRs-Fixed: 2915718
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
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
Tx MPDU aggregation is not happening in HE80 11ax connection
resulting in low throughput for HST.
Fix is to enable TX_AGGREGATION_SIZE_ENABLE for HST.
Change-Id: Ieca8464991a6a194d6f02b70fe4972aca288b541
CRs-Fixed: 2925514