Currently at multiple places there is no
NULL check for return value which might
result in NULL pointer dereference.
Add NULL check for return value to avoid any
NULL pointer dereference.
Change-Id: I986a48d9649b67cb5a078ec38eea64da4ef9244e
CRs-Fixed: 3273489
Currently as long as STA connection is present on DFS channel, host
driver doesn't trim 5 GHz channel lists even if there has SAP on DFS
channel. But for DBS capability chips, like Hasting, when DFS SAP is
present, it's still not allowed to do scan even if STA DFS connection
is available. If don't trim 5 GHz channel lists, the result is that
FW will return cancelled status for the last scan event of the DFS
BSS channel. So host driver would return aborted status even if 2.4
GHz channels can be normally scanned and upper layer cannot get any
scan results.
Change-Id: I885dbccd9beb8bc1c4956c89d90d33cda2bc301d
CRs-Fixed: 3274000
Since TDLS and STA share a common netdev interface,
when STA connection is made in 11a, 11b, 11g mode,
netdev parameters such as TSO/checksum are disabled.
If TDLS connection is formed over this Station,
TSO remains disabled as STA netdev is used.
This might result in loss of throughput when TDLS
connection is made with 11n, 11ac, 11ax dot11mode and
with wider bandwidth TDLS, this loss is more prominent.
Hence, overwrite the netdev params to enable TSO when
TDLS connection is formed in 11ax, 11ac, 11n mode if
the station is in 11a, 11b, 11g mode.
Also, disable the TSO params when TDLS tearsdown when
STA is in 11a, 11b, 11g mode.
Change-Id: I80deaef40d70030211e75a63e1339b1407627b52
CRs-Fixed: 3245258
Prensently for initial scan and roam passive scan dwell time,
the same ini CFG_PASSIVE_MAX_CHANNEL_TIME is used. This will
cause initial scan to have the roam passive scan value.
Decouple passive scan and roam passive scan ini parameter by
adding new ini param for roaming
Change-Id: I4b37c8faa26c971f173e8c8179e505ea4c69c27e
CRs-Fixed: 3268789
In case of failure policy_mgr_is_restart_sap_required
returns without releasing the lock. This leads to lock leak.
Fix is to release the lock before return in case of failure.
Change-Id: I032a6902de1bd0c8f87b660aac98a2fb08dd3f10
CRs-Fixed: 3269538
Reinitialize mon_register_event before wait_for_completion
to make sure that it waits for fresh completion.
"done" variable in struct completion increments in
complete() API and decrements in wait_for_completion() API.
In wait_for_completion() API, if "done" value is 0 then
it will wait for the completion else it will continue without
waiting.
If reinitialization is not done, there is a possibility that
wait_for_completion() may continue without waiting.
Change-Id: I780103f551938438f27a11b006cc7c3e6edc6820
CRs-Fixed: 3251876
On some projects, LFR3 roaming is not supported due to
limitation of FW memory, thus, add support for WPA3 LFR2
roaming.
Change-Id: I80888049a243c0d37e08377d89a6aa44e75a8850
CRs-Fixed: 2973554
If policy_mgr_is_concurrency_allowed is false, don't set
weighed_valid_list = WEIGHT_OF_NON_PCL_CHANNELS. Keep
WEIGHT_OF_DISALLOWED_CHANNELS for them so that the interface
won't start on disallowed channel. And in P2P+P2P or SAP+P2P
case strictly follow PCL weightage for second P2P interface.
Change-Id: I005e680e796269d3cd847b5df460506813d0d033
CRs-Fixed: 3265478
In GO+STA+SAP concurrency, if GO is MCC with STA, the new SAP
will not be allowed in same MAC. FW doesn't support MCC in same
MAC for 3 or more vdevs. Move GO to other band to avoid SAP
starting failed.
Change-Id: Ia19abd1b11f7416797af3e975ab8ffde9037c11f
CRs-Fixed: 3262185
If SAP+P2P GO SCC on 2.4 GHz, the new STA interface will be
allowed connect to AP on 2.4 GHz SCC channel of SAP/GO or
5/6 GHz band AP. And do same for 5 GHz band.
For 3rd SAP/P2P GO coming up, try to force SCC to
existing same band SAP/GO home channel if any, to avoid the
concurrency check failure.
Change-Id: I363e9c8307ac4cfa70d6d00bc0d01a545c3eca26
CRs-Fixed: 3249205
Add concurrency conditions to reject TDLS setup if
along with BSS STA, any other iface is in connected state.
In case where supplicant directly sends TDLS setup without
adding peer or Discovery been rejected because of
concurrency, driver adds the peer and update fw with the
same using UPDATE_TDLS_PEER_STATE command. This results
in fw crash as TDLS state is not yet set.
This check is required because setp_peer shouldn't be
processed if any other interface such as SAP, P2P already
have started otherwise it will result in FW crash.
Change-Id: Ia0f1f099a5fb5be0c4875a38842d97070964aaa0
CRs-Fixed: 3263513
Currently channel info stats are stored in LIM. Refactor
code to store channel info stats in cp stats component.
Change-Id: I2e7219c112e96916d3b73f974dd9803b9c2821c3
CRs-Fixed: 3265722
Previously when chains of BT and WLAN 2.4 GHz are separated,
hybrid mode will be used for BTC. Now adding fixed FDD mode
to fulfill different BTC scenarios.
Change-Id: I3a4d6919319f0f66e6b816566f24f4ac11b2c669
CRs-Fixed: 3244045
Update the Min and Max value for gNeighborLookupThreshold
/RoamRSSI_Trigger INI as per customer requirement.
Change-Id: I5af4552cd805b57861121a32704f4fe1e98a7002
CRs-Fixed: 3245135
Add component for the Constrained Application Protocol.
This component provides interfaces to enable/disable
offload reply/periodic transmitting for CoAP messages,
and also the interface for fetching CoAP messages those
been cached during offload processing.
Change-Id: I91397f598c2702a63e250d50641352d13117777e
CRs-Fixed: 3254535
Currently net dev stats are handled using QDF MACROS which is not
ideal approach. So modified it to OS agnostic inline API's for
handling net dev stats.
Change-Id: I1739779c4fa7699e867b9aa75aff48546b7754ac
CRs-Fixed: 3250935
Add ACS band check for indoor STA+SAP force SCC logic.
If SAP ACS band only support 2.4 GHz channels, do not move
to 5 GHz STA indoor channel for SCC.
Change-Id: I330dee9c35d2955cedc2b802a5bfb4d13ecb5d4c
CRs-Fixed: 3263428
There are two different name with different range of value for
aliasing INI's. So, it should pick the valid range of value wrt INI
name.
Change-Id: Ia0ea4ebc6b1f96b38243c4e0693e47be99868953
CRs-Fixed: 3258760
Currently vdev up status check is wrong
Handle the return status of vdev up properly
Change-Id: I9dbe226d572295038256d5ac42400a4063f358f8
CRs-Fixed: 3265590
When STA+SAP is operating in indoor channels, mandatory
channel list is added to the supported channel list of the
seconday interface.
But the API is common even for SAP+SAP and fails to detect
interfering channels in case of SAP+SAP due to this.
So, limit the mandatory channel list consideration only
for STA+SAP.
Change-Id: If7063e81d0daa9ef86b8af71ba517756f96edb32
CRs-Fixed: 3245034
In whitelist roaming, the roam offload event is sent
for an BSSID with different SSID, however host driver
copies the connected bssid in the external auth event
to the userspace. This leads to preauth failure.
Cache the ssid from the beacon received as part of the
roam frame event before every roam auth offload event
and use that ssid for external auth events to userspace.
Change-Id: I634992baf0c98054897707aaf3b1265e17d46f04
CRs-Fixed: 3262859
Add ucfg APIs to set/get feature status and dscp
values and structure to store values
Change-Id: I839c89696581b8aefd873a120d938a5cbbc32899
CRs-Fixed: 3255692
Reorder the BTM logging according to the below
scenarios:
Scenario 1: Roaming to AP2 and BTM query is sent to AP2.
1. Connected to AP1.
2. <Low RSSI> triggered roam to AP2. Successful roam to AP2.
==== Roam stats event 1 with full TLV case with AP1
(scan_type == partial, roam_trigger = low rssi) ====
3. BTM query to AP2 after 1sec.
4. BTM req from AP2
5. BTM resp to AP2
==== Roam stats event 2 with full TLV case having AP2 BTM info
(scan_type ==NO_SCAN, roam_trigger = BTM) ====
Scenario 2: Connected to AP1, send BTM query to AP1
==== Roam stats event 1 with full TLV case having AP1 BTM info
(scan_type ==NO_SCAN, roam_trigger = BTM) ====
Scenario 3: BTM request initiated by the AP
1. Connected to AP1.
2. AP1 sends BTM request with disassoc imminent set.
3. Roam scan is triggered.
4. BTM response to AP1
5. Roam to AP2.
==== Roam stats event 1 with full TLV case having AP1 BTM info
(scan_type = full or partial, roam_trigger = BTM) ====
6. Send BTM query to roamed AP2.
7. AP2 sends BTM req.
8. Send BTM resp to AP2
==== Roam stats event 2 with full TLV case having AP2 BTM info
(scan_type=NO_SCAN, roam_trigger = BTM) ====
Change-Id: I4571cbe75397fb795046abe8711571264ed98a65
CRs-Fixed: 3260060
In the api cm_roam_mgmt_frame_event(), TX status is sent
without conversion to the userspace resulting in
wrong value of tx status during logging.
Correct this by converting the tx status value before
sending to userspace in order for userspace to properly
evaluate the tx status.
Change-Id: Ie4b6b8bff5e8b9c88edfaf303ce6a4ae370edd67
CRs-Fixed: 3250473
Currently host starts the start_rso_stop_timer when it sends roam
stop related commands to firmware. And tries to stop the timer when
it receives roam event with reason ROAM_REASON_RSO_STATUS or
ROAM_REASON_HO_FAILED. Since firmware also sends roam event with
above reasons when host configs other roam parameters. This causes
host confused about whether to stop the timer or not.
To resolve this issue, add one more condition
roam_event->notif_params == WMI_ROAM_SCAN_MODE_NONE
Change-Id: Ia24d5bba1e35bc4102951adcafc76edda7769d35
CRs-Fixed: 3267506
Add support to populate MLO assoc request with EMLSR
subfields like EMLSR padding delay, transition delay that
are extracted from FW during ext service ready event.
Change-Id: Id5def8da6bef92ff6bf2101a7b3e0d8fb0cf3050
CRs-Fixed: 3262939
This reverts Change-Id: Id1f5172a7fc1792c83c8c1c20127de815f7e4980
to avoid deadlock between cnss_pm_notify and unregister_pm_notifier
during soft driver unload.
Change-Id: Ic82db9dc0ca9d6686df99926335af27abc61cdb5
CRs-Fixed: 3266366
Based on the new requirement, add support to get requested
feature set info from different feature components.
Change-Id: I1bfc097c8ae8c4ab678d4dc07b7932cf3272d851
CRs-Fixed: 3262868
To avoid unmeaningful roaming, when low RSSI trigger,
only roam when rx linkspeed is also bad.
Steps:
1. F/W indicates feature supported by:
wmi_service_linkspeed_roam_trigger_support
2. App sets vdev rx link speed threshold by vendor cmd.
3. Bus_bw_work gets rx link speed from data path periodically.
4. If found rx link speed change from good to poor, or poor to good, send
to F/W.
5. F/W low rssi roaming is triggered only when both RSSI and link speed are
poor.
Change-Id: I56829e42b26e407dd8e989a870aee2b3ea406232
CRs-Fixed: 3261996
After setting link speed threshold to low value like 10 Mbps by vendor cmd,
in bus bw timer, when find link speed above theshold, just change local
link speed state to good, not update global var dp_intf->link_monitoring,
so link_monitoring_cb is called periodically, message to update link
speed to good is sent to scheduler thread periodically,
WMI_ROAM_SET_PARAM_CMDID is sent to F/W periodically too.
To fix it, when find link speed state change from bad to good, update to
global var dp_intf->link_monitoring too. In next bus bw timer, find link
speed state keep good, don't send msg to update link speed again.
Change-Id: I3840e834a76465242face5b2529f004d1d277312
CRs-Fixed: 3266159
Currently sap is not starting if all channels configured as coex
unsafe and if restriction mask is not set.
This change is to select unsafe channel if restriction mask is
not set and start the sap.
Change-Id: I4ccf887655066da6d6b50715f631dde6edfda598
CRs-Fixed: 3260305
In wlan_cm_mlo_update_disconnecting_vdev_id(), add an extra
check of wlan_cm_is_vdev_disconnecting with
wlan_cm_get_active_req_type, to check the vdev state as well,
along with the active_cm_id flag.
Change-Id: I80d59d419555864d6c9712e0d93efce0a6c203e4
CRs-Fixed: 3262543
To avoid unmeaningful roaming, when low RSSI trigger,
only roam when rx linkspeed is also bad.
Steps:
1. F/W indicates feature supported by:
wmi_service_linkspeed_roam_trigger_support
2. App sets vdev rx link speed threshold by vendor cmd.
3. Bus_bw_work gets rx link speed from data path periodically.
4. If found rx link speed change from good to poor, or poor to good, send
to F/W.
5. F/W low rssi roaming is triggered only when both RSSI and link speed are
poor.
Change-Id: I2c2a22c1f24a730783ee09455f4d70b099d9bff1
CRs-Fixed: 3255036
Enhance NUD failure handling by also adding
check for packet received from AP in the case
where AP is gateway
Change-Id: I45f4c11f34eddf536756edc4f81009227ae64c35
CRs-Fixed: 3239391
Sometimes fw sends roam event with RSO status 7, it does not need
host driver trigger in function target_if_cm_roam_send_stop. When
this scenario happens, driver tries to stop the timer which does
not started and dumps wrong info.
Change-Id: I82f723bb8e8c5b6108caff48a9189eeaf2686a2c
CRs-Fixed: 3261664
Use cdp_wdi_event_unsub() to unsubscribe
PKT_CAPTURE_RX_NO_PEER_SUBSCRIBER in
pkt_capture_wdi_event_unsubscribe().
Change-Id: I43575df1402611d468b8523bf948d2dc86f31dd7
CRs-Fixed: 3260272
Currently there is compilation issue in case of IPA
offload enable case due to code changes done as
part of DP componentization.
Fix compilation issue by adding calls to DP component APIs
Change-Id: Id545f67bff75682ceccba5725f956a89c6b9b9f8
CRs-Fixed: 3259293
Incorrect ini values are read for the roam_scan_inactivity_time
and roam_scan_period_after_inactivity. So wrong values are
populated to firmware. This is seen with wlan-connection-roaming.ini
ini file is present on the device.
Read the value for roam_scan_inactivity_time from
CFG_ROAM_SCAN_INACTIVE_TIMER and read roam_scan_period_after_inactivity
from CFG_ROAM_SCAN_SECOND_TIMER.
Change-Id: I98a9d99f09200a021a123226cfb714b1c49c51d5
CRs-Fixed: 3259600
At present, 6 GHz allow check is not applicable to P2P GO interface
type in API hdd_get_ap_6 GHz_capable, thus start GO on 6 GHz failed.
Fix by call policy_mgr_is_6ghz_conc_mode_supported API to check
interface type support 6 GHz or not.
Change-Id: I96bda834e65d0e1fe7301ef695234df9088f50a6
CRs-Fixed: 3253893
Currently, there is a race condition where packet gets
enqueued when WOW handshake is being done in parallel during
bus suspend resulting in assert in FW as Tx is aborted when
WOW command is received in FW.
To fix this, suspend DP tx path before suspend sequence starts
which will drop tx packets.
Change-Id: I38a6a6bdf9858f627205f75f75f351f7debbb7f7
CRs-Fixed: 3227752
Currently while attaching vdev to DP interface
we are searching DP interface based on the Adapter
MAC address, but if STA MLD and Link address is
same, we were getting the Link Interface instead of
MLD interface, which was causing the EAPOL packet to drop.
To Fix the issue, instead of searching for DP interface
based on MAC address, use netdev to search DP interface.
Change-Id: I50c7974c053717b496fab0eeb89774af382b4313
CRs-Fixed: 3258684
Fix stack frame size warnings during compilation for
tdls_get_6g_pwr_for_power_type and
tdls_is_6g_freq_allowed.
Change-Id: Ic9ca3c3db33acd769720bfcb8a754f8d6e6492ab
CRs-Fixed: 3249672
Currently in packet capture, channel is updated from connection
manager. Connection manager channel is updated only after
roam is done, because of which for EAPOL tx packets old
connection freq is filled during roam from one AP to other.
So we are seeing previous AP freq in EAPOL tx packets
captured during roam.
So to avoid this fill freq in data tx packets from pdev
which will get update when auth frame is received.
Change-Id: I251c4dd084b459b7c85e80c5f7ad717d561c09ae
CRs-Fixed: 3248305
Currently, host driver supports random mac for tx mgmt frames
in STA, P2P and P2P CLI opmode only.
Add NAN iface to support for random mac for NAN vdev in NAN
pairing protocol.
This allows to transmit the NAN tx frames to the lower layer.
Change-Id: I06b9340cf9bfd9f6a5e77ff02d19d8a87baea0ff
CRs-Fixed: 3257667
Align command "setMaxAssoc" to INI "cfg_assoc_sta_limit" since they are
for same configure of host side.
Change-Id: Iccf60f261beef7fb7cc776ee691992e06bc7fa76
CRs-Fixed: 3241183