Commit Graph

2892 Commits

Author SHA1 Message Date
abhinav kumar
f9137050ed qcacld-3.0: Avoid using fw-api defined enum at the CM layer
Currently, the definition of WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID
is present at the fw-api level. The host should not be using fw-api
definitions outside the WMI TLV code. To make sure it,

1. Add host-defined enum vendor_control_roam_param which defines
the param IDs that the host supports.

2. Add logic to convert host-defined enum vendor_control_roam_param
to fw-api defined enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID and
vice versa.

Change-Id: I035ece1bc0af8e583782460868193affb76db0f3
CRs-Fixed: 3363916
2023-01-27 10:39:03 -08:00
Amit Mehta
7297c338d7 qcacld-3.0: Add check to avoid OOB access
Currently while updating EAPOL stats, there is no check
for subtype greater than array size, which can result in OOB access.

To fix the issue add additional check for subtype <= EAPOL M4 to
avoid OOB access.

Change-Id: I906ce9166b7a0202335403c77dc6bcd135dea663
CRs-Fixed: 3387939
2023-01-26 04:09:42 -08:00
Paul Zhang
66fcbb5894 qcacld-3.0: add critical update feature
Add critical update feature code. If BSS parameters change
count (BPCC) is changed, the value of cu_flag returns from
function lim_check_cu_happens is true. It can try to update
the critical update IEs code logic per cu_flag.

Change-Id: I39445a75e747e6e00a29be726fd447b9fbc7fb17
CRs-Fixed: 3296181
2023-01-26 01:24:45 -08:00
Mohammed Ahmed
b083b726aa qcacld-3.0: Fix keepalive enum
Currently gStaKeepAliveMethod and station_keepalive_method are not
mapped properly due to an offset of one. Fix this by updating enum
definition.

Change-Id: I572ee472b0b45816bf26830060d2b0707c90f387
CRs-Fixed: 3385907
2023-01-25 19:35:12 -08:00
Surya Prakash Sivaraj
d6df82c2b6 qcacld-3.0: Add ini to disable beacon protection
Some legacy STA doesn't recognize the EXT CAP IE with
length greater than 8bytes. Therefore, these STA cannot
associate with hotspot broadcasting newer capabilities
in the extended IE.

To fix this, add an ini which would override the beacon
protection config in host driver.

Based on this ini, the beacon protection would be disabled
only for non-6 GHz and non-11be SAP profiles, as beacon
protection is mandatory in 6 GHz and 11be cases.

Change-Id: I672b707f6955fa31938aebba5e25461dd40cee4e
CRs-Fixed: 3378974
2023-01-24 19:12:33 -08:00
Amruta Kulkarni
87f1a94226 qcacld-3.0: Handle 1x roaming case
In case of 1x MLO roaming, 4 way handshake is offloaded to supplicant
and link vdev is down in FW. Host has to bring up link vdev post
set key installation.

Add handling in host for following:
- During roam sync indication handle only assoc link.
- Save reassoc response and link information.
- After keys are installed bring up link vdev by
queueing connect req on link vdev.
- Enable roaming after all links are up.

Change-Id: I9c0722f88e950ba05ec3dd7f44883bedf568f97d
CRs-Fixed: 3287316
2023-01-24 09:39:31 -08:00
Rahul Gusain
6e78070bc6 qcacld-3.0: extract NAN vdev_id from mgmt BSSID
Currently, driver finds PASN peer from BSSID in mgmt auth frame
and with help of this peer, it extracts the vdev_id. It uses this
vdev_id to retrieve the adapter in hdd.
But for NAN iface, there is no PASN peer and driver drops the
auth mgmt frame as no valid vdev_id available.

The NAN Cluster ID is a MAC address that takes a value from
50-6F-9A-01-00-00 to 50-6F-9A-01-FF-FF and is carried in the A3
field of some of the NAN frames.
So, to fix this, compare the first four bytes BSSID with
"50-6F-9A-01" and extract the vdev from vdev_list for NAN opmode.

Change-Id: Ie4f15549e3bd8378e362538da4d7ec49e84ad138
CRs-Fixed: 3382962
2023-01-24 09:39:23 -08:00
Jyoti Kumari
691d7b7ba2 qcacld-3.0: Remove unwanted print from ll_sap api
Remove unwanted print from policy_mgr_get_ll_sap_freq()
to get the freq.

Change-Id: I05d5f02ba4df378483500ab1ccb699fcd9954b03
CRs-Fixed: 3386626
2023-01-24 09:39:17 -08:00
Sheenam Monga
188ac8c5b7 qcacld-3.0: Don't reject SR command if threshold not provided
As per current implementation, SR(Spatial Reuse) commands are
rejected if STA is not connected or connected to AP that doesn't
support SR which causes issue because SR Enable/Disable command
shouldn't reject if STA is not connected instead of rejection
same configuration should be applied when SR AP connects to STA.

Fix is to not to reject SR command if PD threshold is not provided
along with enable command, so that enable command can be accepted and
applied when AP that supports SR connects to station.

Change-Id: Ie4a973053b79d0d5931bcc2520da42f9aab93089
CRs-Fixed: 3350451
2023-01-21 02:55:33 -08:00
Srinivas Dasari
b8db5ef04a qcacld-3.0: Handle SAP restart case in fixed chan SAP
Currently, unsafe channels are avoided when SAP restart happens.
If WMI_COEX_FIX_CHANNEL_CAPABILITIES is advertised by firmware
and if the SAP is started in a fixed channel, don't restart even
if the current operating channel is unsafe.

Change-Id: I5f7d632bcc00a1b5351dad64aca0ce16f1057537
CRs-Fixed: 3381394
2023-01-19 23:32:58 -08:00
Amruta Kulkarni
16faad0a70 qcacld-3.0: Fix T2LM validation check
During T2LM validation to pick assoc link, only check if
operation mode is station and if t2lm ie is valid.

Change-Id: Id31f83fabd22ae0e434e2720df773f778c7bb448
CRs-Fixed: 3370578
2023-01-19 16:41:51 -08:00
Rahul Gusain
54ba526abe qcacld-3.0: Set feature version for 11KV
Whenever driver add new feature, it increments the feature version
and send it to firmware.
Due to new 11KV feature update, increments the feature version.

Change-Id: Ia840faf85c06a4f33f68f59dadda400c8e91804c
CRs-Fixed: 3381243
2023-01-19 12:27:07 -08:00
Rahul Gusain
4d22da60ff qcacld-3.0: Add print log for new roam scan type
Firmware sends the roam scan info tlv to driver during roaming.
Currently, in this tlv, firmware fills scan type as (0-3) and
driver log this as "PARTIAL", "FULL", "NO SCAN" and "Higher Band"
But with new requirement, idle roaming shall only roam to higher band
(2.4 GHz < 5 GHz < 6 GHz) than current band.
1. If current band is 2.4 GHz, it cannot roam to 2.4 GHz.
It can roam to 5 GHz and 6 GHz.
2. If current band is 5 GHz, it cannot roam to 2.4 GHz and 5 GHz.
It can roam to 6 GHz.
So, to add this requirement, firmware introduces new scan type 4 for
which driver need to log.

Change-Id: I80d1c47a434da5009aed4cab08c6eae91bda5b0e
CRs-Fixed: 3379468
2023-01-19 12:27:01 -08:00
Rahul Gusain
81ba2c92d4 qcacld-3.0: Optimize the free connect response
API to free the roaming info, fils ie and connect ies is now
present in cmn. Reuse of the same API to optimize the code.

Change-Id: I63b416323b4882ee589941e9b06f45a094b3f800
CRs-Fixed: 3378946
2023-01-19 12:26:54 -08:00
Rahul Gusain
3ba0586a80 qcacld-3.0: Increase the bad BSSID threshold counter max value
"bad_bssid_counter_thresh" is an ini parameter to specify the threshold
after which the BSSID is in the avoid list should be moved to
deny list, assuming that the AP or the gateway with which the data
stall happened has not recovered, and now the STA got the NUD
failure again with the BSSID.
Currently, in driver sets max value for this ini param as 10.
But for some new requirement, this value is required to 100 as
user does not want any BSSID in reject list.
So, to enable this feature, increase the max value for this param
as 100.

Change-Id: I80e908c82ea74801bfcb04a9669cc4b4589f0dec
CRs-Fixed: 3382136
2023-01-19 09:30:38 -08:00
Rakesh Pillai
61df77a203 qcacld-3.0: Add pre-alloc entries for datapath cfg event history
Add pre-alloc entries for datapath config events
history, so that the memory for this history is
pre-allocated and not freed on every wifi off.

Change-Id: Iae1013c68a77d7da719400579af43369d9663163
CRs-Fixed: 3379157
2023-01-19 02:54:06 -08:00
Asutosh Mohapatra
dee1c76bd6 qcacld-3.0: Add new INI to separate scan policy for rest of world users
Currently host drops an AP from scan list if host country is set to
US and AP country is non-US. This implementation violates our
standard regulatory scan policy.

To address this issue, introduce a new INI to differentiate
between our standard regulatory policy with others.

Change-Id: Ie6bd2d1925048aef427136b34d00d361955f40b2
CRs-Fixed: 3377242
2023-01-18 06:00:09 -08:00
Roopavathi Lingampalli
38bf757799 qcacld-3.0: Add Component APIs for required ucfg APIs in DP component
When component dependent functions calling from higher
modules or any other components, it uses ucfg APIs pattern.
Calling ucfg dependent APIs is acceptable for higher modules
like HDD, OSIF but for another components like DP to avoid
using ucfg APIs here, implementing component APIs for existing
ucfg APIs to other components like NAN, vdev_mgr in DP
component module.

Change-Id: Ia5431c7de7fc944aacf5c8a328072a8ec31e8f3f
CRs-Fixed: 3351496
2023-01-17 21:04:25 -08:00
Vijay Raj
0a934e2617 qcacld-3.0: Add support for Neighbor report Logging
In api cm_roam_stats_print_11kv_info(), neighbor report
logging was not supported.

Add support for Neighbor report connectivity logging
through api cm_roam_neigh_rpt_req_event() for Neighbor
report request event and api cm_roam_neigh_rpt_resp_event()
for Neighbor report response event.

Change-Id: If9d93584d4030f76b5175d361dfd34fce3b5b5b1
CRs-Fixed: 3370797
2023-01-17 16:40:55 -08:00
Amruta Kulkarni
38e2b1f38d qcacld-3.0: Handle t2lm ie after connection complete
Change done to handle t2lm ie after MLO connection
is completed and save tsf value received in beacon.
Also fix to not select link if tid mapping is not present.

Change-Id: Ie2ce1fcfa50a4e14a083a508b268dfebb308d3ad
CRs-Fixed: 3342807
2023-01-16 04:34:27 -08:00
Liangwei Dong
4a18155583 qcacld-3.0: Add phy regulatory frequency range check
If phy regulatory capability doesn't support high or low
frequency indicated by MACRO such as HIGH_5GHZ_FREQ,
LOW_5GHZ_FREQ, we should not hard code to the MACRO.
The change adds new mlme API wlan_mlme_get_phy_max_freq_range
to get phy regulatory ranges from target info.

Change-Id: I95f48296ca093c20b1391d7657204eecfb418908
CRs-Fixed: 3376402
2023-01-15 10:13:33 -08:00
Gururaj Pandurangi
8859328749 qcacld-3.0: Add support for T2LM action frame handling
Add support for T2LM action frame handling.
- Add an API to parse T2LM negotiation request action frame
and accept or reject T2LM mapping based on ML link info.
If accepted, store the new info in peer level context
and send it to FW.
- Add an API to send T2LM response action frame to
acknowledge request action frame with status code.
- Add wrapper API to invoke T2LM deliver event.

Change-Id: I10d440bd1713740ab8b9f1fe46439bea92e179db
CRs-Fixed: 3367425
2023-01-15 07:08:12 -08:00
Ashish Kumar Dhanotiya
062cb174f2 qcacld-3.0: Add INIs to trigger SSR for wakeup on pagefault
According to new requirement, add INIs
max_pagefault_wakeups_for_ssr,
interval_for_pagefault_wakeup_counts and
ssr_frequency_on_pagefault to trigger SSR if host wakes up
because of pagefault.

For ex: If max_pagefault_wakeups_for_ssr = 30,
interval_for_pagefault_wakeup_counts = 180000 (3 mins) and
ssr_frequency_on_pagefault = 3600000 (1hr), in this case host
will trigger the SSR if it receives 30 wakeups because of
pagefaults in 3 mins, host will trigger SSR only once in 1 hr.
Once the SSR is triggered, host will not trigger next SSR for
next 1 hr even if it receives 30 wakeups from fw because of pagefaults.
This 1 hr time is getting monitored from last SSR.

Change-Id: Ic122a7d8e8749870bfa5d28e74f6e9ee19493d04
CRs-Fixed: 3378492
2023-01-14 18:15:50 -08:00
Paul Zhang
2e183b559f qcacld-3.0: correct logic for parsing t2lm ie
Adding extn_ie_header and the invoking function
wlan_mlo_parse_t2lm_info because dot11f logic
removed the ie header.

Change-Id: I957c574ecf6323bfd6fb488f417ab1f738b4ee37
CRs-Fixed: 3362726
2023-01-14 01:12:29 -08:00
Jeff Johnson
7909bafb0f qcacld-3.0: Fix Pre-CAC Documentation
The kernel-doc script identified a few documentation issues in
components/pre_cac, so fix them.

Change-Id: Ie2a9be0c410e32c8e7ca5a86ed0dec7df5b62d25
CRs-Fixed: 3359794
2023-01-13 10:38:16 -08:00
Jeff Johnson
8da282a666 qcacld-3.0: Fix UMAC Documentation
The kernel-doc script identified a multitude of documentation issues
in components/umac, so fix them.

Change-Id: If30358cb83e90348e410cfea163353f2dd26b3fa
CRs-Fixed: 3360814
2023-01-13 02:09:41 -08:00
Jeff Johnson
a38d67be64 qcacld-3.0: Fix Target Interface Documentation
The kernel-doc script identified some documentation issues in
components/target_if, so fix them.

Change-Id: Id925b899074b1e9491cc3b9a3066420512459770
CRs-Fixed: 3359868
2023-01-11 06:53:15 -08:00
Jeff Johnson
d78ed5cc16 qcacld-3.0: Fix WMI Documentation
The kernel-doc script identified multiple documentation issues
in components/wmi, so fix them.

Change-Id: Ic5bc41350ef846de91a1001d6fe1d28016e0f982
CRs-Fixed: 3361701
2023-01-11 03:46:59 -08:00
Ananya Gupta
ec471e92f2 qcacld-3.0: Create sysfs file and ini for direct link unit test
Create sysfs file for direct link unit test command to
generate traffic from LPASS.
Add ini to enable direct link unit testing.

Change-Id: I5b143bc6751eedb1a65cd836ea738744b72cc2cc
CRs-Fixed: 3365576
2023-01-11 03:46:53 -08:00
Jeff Johnson
e7886d39aa qcacld-3.0: Fix Wi-Fi Positioning Documentation
The kernel-doc script identified several documentation issues
in components/wifi_pos, so fix them.

Change-Id: If62f7c43983c1bb67ad0cb2764e8bbadff6e6cf7
CRs-Fixed: 3361660
2023-01-10 23:06:25 -08:00
Jeff Johnson
5e59e167e5 qcacld-3.0: Fix Spatial Reuse Documentation
The kernel-doc script identified a few documentation issues in
components/spatial_reuse, so fix them.

Change-Id: Ie4238aa43d8263151c2f9d05ebbe74ae8854f472
CRs-Fixed: 3361723
2023-01-10 23:06:20 -08:00
Jeff Johnson
779bce7bd9 qcacld-3.0: Fix Denylist Manager documentation
The kernel-doc script identified a few documentation issues in
components/denylist_mgr, so fix them.

Change-Id: I45fc8c6a637cebccf324dd44102b894fc84e7f2b
CRs-Fixed: 3361722
2023-01-10 23:06:08 -08:00
Jeff Johnson
a51ab110dd qcacld-3.0: Fix SON Documentation
The kernel-doc script identified a few documentation issues in
components/son, so fix them.

Change-Id: I2aaa6746b05a963113ea78111a4cc45f35c1f98c
CRs-Fixed: 3359822
2023-01-10 11:30:51 -08:00
Jeff Johnson
4086862b28 qcacld-3.0: Fix Common Services Documentation
The kernel-doc script identified multiple documentation issues in
components/cmn_services, so fix them.

Change-Id: Ifdc8cefcbf7b31dc3e91cc3c5dab7cccd331e473
CRs-Fixed: 3363114
2023-01-10 11:30:44 -08:00
Jeff Johnson
bf0930cb1a qcacld-3.0: Fix PMO Documentation
The kernel-doc script identified a multitude of documentation issues
in components/pmo, so fix them.

Note that there is currently one false positive error being flagged in
the documentation for typedef pmo_get_vdev_dp_handle.

Change-Id: Iddaccbf1b55557a82af34d2b6b4913d37c71123a
CRs-Fixed: 3359766
2023-01-10 11:30:38 -08:00
Asutosh Mohapatra
ff0430caee qcacld-3.0: Update few INI values
Update RoamIdle_MinRSSI, RoamIdle_RSSIVariation,
RoamIdle_InactiveTime ini default values.

Change-Id: I0c70d4ca3eaf299492d4715485e6a55982399426
CRs-Fixed: 3375824
2023-01-09 23:35:03 -08:00
Ananya Gupta
9ef4a35d86 qcacld-3.0: Vote link based on config change
Currently, based on config_direct_link variable, link is voted
up or down which can result in same multiple votes.
To fix this, vote link up or down if there is a change in
previous config and incoming config_direct_link argument.
Also, return status success when direct link is not enabled
but dp_config_direct_link is called.

Change-Id: I4f54d74a9d4921f27f247450f89a03d6dabc838e
CRs-Fixed: 3375395
2023-01-09 23:34:57 -08:00
Yeshwanth Sriram Guntuka
9972a80234 qcacld-3.0: Set to_fw bit in DP vdev for Direct link use case
Set to_fw bit in DP vdev for direct link use case
and also set it when the use case is unspecified as
well.

Change-Id: I7306e22e81303720830cfce4ce19b15d2080d93c
CRs-Fixed: 3369891
2023-01-07 17:58:59 -08:00
Jianmin Zhu
f9d4ce74c0 qcacld-3.0: Fix race issue of disconnect and roaming
Reproduce steps:
1. Driver received roam start from F/W, enqueue roam cmd in active queue.
2. Driver received disconnect cmd from wpa supplicant,  set link vdev
   vdev1 as disconnecting, enqueue disconnect cmd in pending queue.
3. Driver received MLO roam sync event from F/W, need handle link vdev
   first, assoc vdev later.
4. Driver didn't handle link vdev1 roam sync for disconnecting state, DP
   MLD peer isn't created.
5. Driver handled vdev0 roam sync, dp_peer_setup failed for DP MLD
   peer not created, asserted.

To fix it, when handle vdev0 roam sync, check state of all mlo vdev,
if either disconnecting, abort roam sync, and delete roam req, let
disconnect from upper layer continue.

Change-Id: Ie03e0031908fef0f403d2cacf8ec976a147ef1ed
CRs-Fixed: 3371850
2023-01-06 07:44:51 -08:00
Vijay Raj
4470bb6708 qcacld-3.0: Add diag logging support for measurement report
Introduce diag logging support for Neighbor report and
beacon report via event id EVENT_WLAN_NBR_RPT and
EVENT_WLAN_BCN_RPT.

For Neighbor report token, ssid, report number, frequency
list and frequency is sent. For Beacon report token, mode,
operating class, channel, duration, request_mode and report
number is sent.

Change-Id: I7ef407fa729e608ad0a7036f024acbf8b5180181
CRs-Fixed: 3370758
2023-01-06 00:27:44 -08:00
Deeksha Gupta
0f667d9495 qcacld-3.0: Skip ROC req if TX action frame freq is same as current vdev freq
Currently, in case of Tx action frame driver start the ROC req based on
the offchannel is set. Due to this, if the TX action freq is same as
current vdev freq then also driver started the ROC req on the same
channel.

Fix is, even offchannel is set, but current vdev freq is same as
that of the channel for the tx frame. Driver will skip the ROC.

Change-Id: I7ab2ade0f01ad5035f7b156ded7eb7af7c826b9e
CRs-Fixed: 3366671
2023-01-05 00:44:43 -08:00
Amit Mehta
beb9111c0a qcacld-3.0: Add additional logs in dp_nud_filter_netevent
As part of log enhancement add additional logs in dp_nud_filter_netevent.

Change-Id: I6c3496ed2822d3fa82966548e8ff7ae5c07f4317
CRs-Fixed: 3369870
2023-01-03 16:30:29 -08:00
Jianmin Zhu
fff3e6bb11 qcacld-3.0: Don't stop SAP while CSA in progress
1. If CSA failed for last CSA in progress, can't stop SAP, SAP stop and
SAP CSA concurrency may lead to assert.
2. When access global var like pm_conc_connection_list, always need add
lock protection.
3. During CSA in progress,  NAN CSA don't block current thread, just
return.
4. When SAP CSA completed, need check whether need CSA again for NAN
started during CSA.

Change-Id: I076ecad7395a265bbe83aaf97617a9a8b6c8b41a
CRs-Fixed: 3357265
2023-01-02 20:27:50 -08:00
Surya Prakash Sivaraj
2c5995f78e qcacld-3.0: Disable BTM offload based on BTM cap
The wpa_supplicant disables the BTM cap in extcap IE whenever
the MBO AP is not PMF capable, or if the btm_disable conf is set.

In current host driver design, the BTM offload is disabled only for
the MBO+non-PMF case. Therefore, add change to disable the btm offload
config if the BTM CAP is not present in the (re)assoc request as this
is determined based on intersection of peer and self cap.

Change-Id: I2fdc1010bccf5ce23f4ab2177aed6c374f7a510f
CRs-Fixed: 3369096
2023-01-02 00:12:15 -08:00
Divyajyothi Goparaju
e62e4f2ccb qcacld-3.0: Replace target params with host params
Currently host uses target params directly
which leads to layering violation

Replace target wmi pdev/vdev params with host wmi
pdev/vdev params in host to fix existing broken layering
violation.

Change-Id: Ifdfbc3151a1d81466c768e4d016a8f70971d651e
CRs-Fixed: 3333879
2022-12-30 00:07:13 -08:00
Divyajyothi Goparaju
c9808c04b6 qcacld-3.0: Combine process_rate_update set param
Currently wma_process_rate_update_indicate sends
two vdev set params separately to firmware.

Combine two vdev set params of
wma_process_rate_update_indicate,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.

Change-Id: Icc50569bcc851c5ee269558b80a560b03e1fdcee
CRs-Fixed: 3333758
2022-12-30 00:06:21 -08:00
Divyajyothi Goparaju
5f85944f38 qcacld-3.0: Optimize ndpinactimeout vdev set param
Currently host sends two ndp inactivity timeout
params to firmware one after the other.

Combine these two ndp inactivity timeout vdev
set params and send to WMI to reduce number of
transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.

Change-Id: Icaeca85f2aa074f04d268b819fe86f4b7879c25b
CRs-Fixed: 3333749
2022-12-30 00:06:13 -08:00
Divyajyothi Goparaju
adfb3a43d6 qcacld-3.0: Optimize pdev/vdev set param command
Currently host sends many pdev/vdev set param
commands separately to firmware from hdd.

Combine multiple pdev/vdev set params and
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.

Change-Id: Ib76f5bd5f582a2c67486f6773ff6fd486b3d84cf
CRs-Fixed: 3333732
2022-12-30 00:06:07 -08:00
Divyajyothi Goparaju
fd4205850c qcacld-3.0: combine tx_rx chain mask pdev set params
Currently host sends tx chain mask and rx chain mask
pdev set params separately to firmware.

Combine these tx_rx chain mask pdev set params,send to WMI
to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.

Change-Id: I6bd27b4bc99cbe44e6bdca2a8d55050a49719673
CRs-Fixed: 3333635
2022-12-30 00:06:01 -08:00
Jianmin Zhu
476236fec2 qcacld-3.0: Fix RSO race condition issue
While scheduler thread init and enable RSO after MLO connected,
wpa_supplicant deinit RSO for MLO disconnect.
At last, RSO is enabled on host, RSO is deinited on F/W side,
no event for RSO stop cmd, vdev0 disconnect not finished for
cm_disconnect_continue_after_rso_stop isn't called.

To fix it, hold cm_rso_lock in cm_roam_state_change to make sure RSO
operation atomic. RSO operation of one thread not preemptied by RSO
operation of another thread. RSO init and enable process of connect thread
isn't preemptied by RSO deinit of another thread, no host F/W RSO out of
sync issue will happen.

Remove ucfg_user_space_enable_disable_rso from hdd_init_station_mode since
cm_rso_lock is held before created.

Change-Id: I3010895d26a622c2a14960847089a63736598b7c
CRs-Fixed: 3365417
2022-12-29 18:33:41 -08:00