Commit Graph

1231 Commits

Author SHA1 Message Date
hqu
75feb60ade qcacld-3.0: Move rso related process to connection manager [PART 6]
Add new code to implement below functions for connection manager
roam part:
And below two RSO command related process:
ROAM_SCAN_OFFLOAD_STOP
ROAM_SCAN_OFFLOAD_UPDATE_CFG

Change-Id: I378b969ddae77fff49ad1d4d8ce21764b292e5ac
CRs-Fixed: 2753011
2020-08-14 04:12:14 -07:00
Min Liu
f7d6bc2675 qcacld-3.0: Move get_peer_info into cp_stats component
Move WMI_REQUEST_PEER_STATS_INFO_CMDID related statistics into
cp_stats component.

Change-Id: I636221b0bc0e28180c97cd269440a7c733716a1d
CRs-Fixed: 2680618
2020-08-14 04:12:10 -07:00
Vevek Venkatesan
fedc5e32b8 qcacld-3.0: fix IPA stats set_quota failure
Fixing the failure of set_quota feature for IPA stats,
currently calling set_quota during resource_loading, but
it is supposed to be called if resource_loading is false.
This is causing IPA stats set_quota feature is getting
failed for Adrestea targets and fixing the same.

Change-Id: I95ad60a8e15f4faaea34093785422ad494ee1fb4
CRs-Fixed: 2730655
2020-08-13 06:13:23 -07:00
Visweswara Tanuku
78df7f106e qcacld-3.0: Extract Peer TWT session parameters
WMI handler is registered for twt_session_stats event.
Upon wmi event twt session parameters are extracted and
cached in peer mc_cp_stats. UMAC APIs are provided to
retrieve TWT session parameters from north bound
interface(hdd) using twt peer's mac_addr/session dialog_id

CRs-Fixed: 2730732
Change-Id: I8ce38ac6be97e844e26e03751c6d6cca981b82b4
2020-08-13 02:09:56 -07:00
Amruta Kulkarni
f2b948bccf qcacld-3.0: Use freq instead of channel num to get channel state
As the channel numbers are no longer unique use
wlan_reg_get_channel_state_for_freq() to get the
channel state and populate the valid channel list.

Change-Id: I182cea44c234cd0da2010f7b2c807b70c51cce85
CRs-Fixed: 2747949
2020-08-13 00:03:53 -07:00
Pragaspathi Thilagaraj
5907f277d9 qcacld-3.0: Include the current RSSI in ROAM_TRIGGER print
In roam trigger print the driver doesn't include the current
RSSI threshold info.

Add the current rssi threshold value at which roaming was
triggerd in roam trigger logging.
Also refine the candidate AP blacklisting related prints.

Change-Id: I6d39851278081a728b74e036c22e8d302d7b7b4c
CRs-Fixed: 2752998
2020-08-12 06:42:05 -07:00
Rajeev Kumar
5273643587 qcacld-3.0: Change host wake up log to info log level
There is no info level log in wow disable path and hence
in absence of driver logs its difficult to notice wow
disable. Change host wake up log to info log level to
assist in debugging when driver log is not available.

Change-Id: If8a4dfae7f30413a7acbd03374340a76c9d4923b
CRs-Fixed: 2753189
2020-08-12 04:33:36 -07:00
Kiran Kumar Lokere
09d979b3d1 qcacld-3.0: Use ROAM_11KV_CTRL cmd to enable/disable FW roaming
Use ROAM_11KV_CTRL WMI vdev command to enable/disable the roaming
functionality in FW.

Change-Id: If3bb344ec7058d4149d0064975d7c91f213fd105
CRs-Fixed: 2727671
2020-08-11 11:52:40 -07:00
wadesong
a9db8c7b0c qcacld-3.0: Fix compilation error for LFR2+BLM
With the newly introduced BLM enhancement, APs may get enlisted
and sent to FW for (re)assoc restraint. However, the FW side
AP restraint is only required when LFR3 is enabled.

With LFR2, no FW side AP (re)assoc restraint is required and all
actions will be done within driver code.

Use LFR3 specific conditional macro to enclose all the code
needed for sending reject AP list to FW.

Change-Id: I9a8bc0e25bc4b319bf1841324ef1b711f0659093
CRs-Fixed: 2751791
2020-08-10 22:30:40 -07:00
Liangwei Dong
e6a2f020ca qcacld-3.0: Fix P2P Client startup failure in STA+SAP
Update the STA+CLI+SAP cocurrency in 2x2 PCL tables according
to STA+GO+SAP concurrency PCL.

Change-Id: I292881f463613b5b38ccfff42bf1509396bdb472
CRs-Fixed: 2749425
2020-08-10 00:03:00 -07:00
Pankaj Singh
db85c00306 qcacld-3.0: Extend Tdls external mode config support
Current implementation of external mode requires supplicant to
send tdls peer mac address. On matching of stats tdls implict
link procedure is triggered for configured peer.

Fix, to allow both configured peer and other peer that supports
tdls to establish the tdls link.

Change-Id: If7cb10986126db28979293653b1bc2a92c3f72eb
CRs-Fixed: 2750191
2020-08-07 15:01:57 -07:00
Wu Gao
a0a03562ea qcacld-3.0: Check the state before starting tdls timer
Since tdls_implicit_enable will be called in different scenarios, and
there is error level output if repeated start same timer. So check
the state before starting tdls timer.

Change-Id: Id023affa016f337286dad539298a9bbc15381091
CRs-Fixed: 2747370
2020-08-07 02:53:16 -07:00
Abhishek Ambure
ab079ed334 qcacld-3.0: Add ini to enable/disable WLS 6ghz support
Host sends the WLAN_MSG_WLAN_STATUS_IND to WiFi Location Service(WLS) via
cnss daemon which includes supported channels. WLS service is yet not 6GHz
capable. Hence to limit the 2.4GHz/5GHz channels only in
WLAN_MSG_WLAN_STATUS_IND introduce new INI "wls_6ghz_capable".

Change-Id: I77b284d2025601fec72aa35d430f18865f15f247
CRs-Fixed: 2748489
2020-08-07 02:53:12 -07:00
Pankaj Singh
bc917e55af qcacld-3.0: Invalid offchannel freq sent in tdls offchannel command
In WMI_TDLS_SET_OFFCHAN_MODE_CMDID the offchannel freq is set to invalid
value due to uninitialized local tdls_channel_switch_params type variable
resulting in fw reading incorrect non zero offchanel freq.

Fix, to zero initialize the local tdls_channel_switch_params variable.

Change-Id: Ia7d6daac098a179a22676620875a2b0d6488a8ad
CRs-Fixed: 2739267
2020-08-06 18:40:53 -07:00
hqu
e6dec862e4 qcacld-3.0: Move rso related process to connection manager [PART 5]
Add new code to implement below functions for connection manager
roam part:
Filling below WMI cmd parameters related process:
WMI_11K_OFFLOAD_REPORT_CMDID
WMI_ROAM_DEAUTH_CONFIG_CMDID
WMI_ROAM_IDLE_CONFIG_CMDID

Change-Id: I346b921a6f378e7c4d8860acd7c3bec45a0b9d3a
CRs-Fixed: 2749430
2020-08-06 16:39:57 -07:00
Abhinav Kumar
247596b04b qcacld-3.0: Send value of INI "roam_score_delta" to FW
As per requirement, send a value of an INI "roam_score_delta" to FW
through WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID.

Change-Id: I9a2087f83c2eb95338d440dc901bd8aa246f7e5f
CRs-Fixed: 2740552
2020-08-06 06:34:40 -07:00
Rajeev Kumar
e12051de39 qcacld-3.0: Disable periodic time sync feature
CLD driver specific time sync feature is no longer used since
core BSP provides more accurate time sync over QMI and hence
disable CLD driver specific time sync feature to avoid periodic
wake ups.

Change-Id: Ic2790e7cdb6cf56f874fb56cda246777bc34d2e3
CRs-Fixed: 2715021
2020-08-05 17:35:05 -07:00
Abhinav Kumar
731ad8d610 qcacld-3.0: Print roam_trigger_reason and roam_ap_info params
Print BTM BSS termination timeout value and BTM MBO assoc
retry timeout value coming from FW through
wmi_roam_trigger_reason_tlv_param tlv.

Print Blacklist reason, Source of adding AP to BL, timestamp
which indicates the time when AP added to blacklist and
Original timeout value in milliseconds when AP added to BL
coming from FW through wmi_roam_ap_info_tlv_param.

Change-Id: Iea5b8c136f83841d679b9ad06721bb0c9349b46a
CRs-Fixed: 2744250
2020-08-05 11:18:39 -07:00
Ashish Kumar Dhanotiya
e20db7ae44 qcacld-3.0: Add ini to retain the NOL across reg domain change
Currently driver sets the NOL state of the channels to false
on every regulatory updated, which indicates the channel is
not in NOL. Which may lead to some issues where the channel
is actually in NOL but host treats it as non-NOL channel.

Ideally NOL list should be maintained throughout the driver
lifetime and across the regulatory changes.

To address this issue add a logic to not update the NOL state
of the channels whenever the regulatory update is received.

CRs-Fixed: 2744916
Change-Id: If96b22ab29a60a2aa752bbf01aaae46fc37362eb
2020-08-05 09:04:01 -07:00
hqu
ed6c27c858 qcacld-3.0: Move rso related process to connection manager [PART 4]
Add new code to implement below functions for connection manager
roam part:

Filling below WMI cmd parameters related process:
WMI_ROAM_BTM_CONFIG_CMDID
WMI_ROAM_SCAN_STOP_CMD
WMI_ROAM_PER_CONFIG_CMDID

And RSO command:
ROAM_SCAN_OFFLOAD_RESTART

Change-Id: I18480941980a55957abd48e0329fe4ef213a1243
CRs-Fixed: 2747578
2020-08-05 04:24:03 -07:00
Abhishek Ambure
687d129962 qcacld-3.0: Change HW mode after SAP channel change
After SAP switches the channel, policy manager needs to check if
the host needs to change HW mode. SAP state machine updates channel
change event to hdd to indicate SAP channel switch. Hence move logic
to change HW mode from start bss success event to channel change
event case in sap event callback.
Problem scenario:
1. DUT is in Single MAC mode by default.
2. SAP is up on Channel-1. So SAP is on MAC-0.
3. Host sets Policy Mgr Hw mode = DBS.
4. STA comes up on Channel-36. As host is in DBS mode, STA came up
   on MAC-1.
5. SAP does CSA to Channel-36 (STA’s channel). So SAP moves from
   MAC-1 to MAC-0.
6. Host sets Policy Mgr HW mode = Single MAC (As both VDEVs are on
   same band).
7. Now, SAP does CSA to Channel-11. As Policy Manager Hw mode is still
   Single MAC, SAP is still on MAC-0. So now STA (Channel-36) & SAP
   (Channel-1) are in MAC-0 doing MCC.
Fix:
After SAP switches channel, policy manager checks and changes HW mode
change in hdd sap event callback.

Change-Id: If7964057592d85a11dd77197c889a4ed77ed039a
CRs-Fixed: 2719810
2020-08-05 02:16:46 -07:00
Ashish Kumar Dhanotiya
28d3dfd5e0 qcacld-3.0: De-initialize idle timer on tdls peer reset
Currently idle timer does not gets de-initialize on tdls peer
reset because of which there could be a possibility that in
case of multiple tdls connection and disconnection with multiple
peers, this timer might get assigned and re-assigned to different
peers which may lead to an issue where this timer never gets
started for the required peer.

In current scenario whenever the first TDLS connection
(Peer a with sta_idx 0) happens, tdls peer idle timer object is
initialized with “&tdls_soc->tdls_conn_info[0];”.
Now if this peer a gets disconnected and peer b gets connected
and peer gets the same sta_idx 0, then peer will be associated
with timer “&tdls_soc->tdls_conn_info[0];”,hence 2 timer init
happens with the same sta_idx for peer a and peer b.
(here peer a is in disconnected state and peer b is in connected
state)

Now if peer a gets connected it will get the sta_idx 1, as timer
initialization is already done for peer a with sta index 0 so
timer initialization will not be done again.
Now if peer b gets disconnected it will set the tdls_info for
sta_idx 0 to invalid (INVALID_TDLS_PEER_INDEX).
Now for peer a timer will be started and when timer expires in
timer handler function “tdls_ct_idle_handler” will not be invoked
as sta_idx is already set to INVALID_TDLS_PEER_INDEX.

To address above issue, de-initialize the idle timer for tdls
peer on every tdls peer reset.

CRs-Fixed: 2746046
Change-Id: Icc2e64a9299852d5b29d26dec79b7f1efb2594b8
2020-08-04 01:51:53 -07:00
Kiran Kumar Lokere
8840c207d5 qcacld-3.0: Fix rome invoke command TLV setting
Set the rome invoke cmd TLV for beacon buffer length.

Change-Id: I7f2e9b2f0ee010fecea0940f5a039b431e9cb27a
CRs-Fixed: 2743989
2020-08-02 19:47:45 -07:00
Pragaspathi Thilagaraj
68d572daa3 qcacld-3.0: Add connection manager RSO init/deinit support
Add connection manager changes to send roam scan offload init
deinit. Add new enum roam_offload_init_flags to fill the roam
init/deinit flags, 4-way handshake offload, bmiss skip full scan
flags at connection manager instead of getting the ini and filling
at target if.

Change-Id: I558e868efd341b508d3df76c8d6ab90eac512432
CRs-Fixed: 2745585
2020-08-01 21:08:44 -07:00
hqu
bc1e6476b7 qcacld-3.0: Move rso related process to connection manager [PART 3]
Add new code to implement below functions for connection manager
roam part:

Propagate 'Change-Id: I49d64671f74b86c516d286c4b2aad69eda744b52'
Filling below WMI cmd parameters related process:
WMI_ROAM_AP_PROFILE
WMI_ROAM_FILTER_CMDID

Change-Id: I4870c69a0e0ca1e8cad734a591f09e402b7a32fa
CRs-Fixed: 2745468
2020-08-01 11:02:13 -07:00
Bapiraju Alla
60795f28db qcacld-3.0: Send vdev create cmd from vdevmgr_mlme_ext_hdl_create
In current implementation, vdev create command is sent to the FW from
vdevmgr_mlme_ext_post_hdl_create. By design vdev create command should
be sent to the firmware from vdevmgr_mlme_ext_hdl_create.

To align with the design, send vdev create command from
vdevmgr_mlme_ext_hdl_create.

Change-Id: I42203ae5c4f75388e520e7fc3bd9114dd3236492
CRs-Fixed: 2714533
2020-08-01 09:00:53 -07:00
gaurank kathpalia
324fc0b0c3 qcacld-3.0: Enhance BLM infra
Enhance BLM infra to include source,
reason for blacklist, original timeout,
received time for better debug.

Change-Id: Ia705a967a08412824063275f5073c338dabde539
CRs-Fixed: 2744402
2020-07-31 16:26:25 -07:00
Pragaspathi Thilagaraj
ab09be7729 qcacld-3.0: Refactor roam scan sub-reason string
Add changes to include new roam scan sub-reasons in host driver
roam logging and refactor few existing string.
Below are the new reasons:
WMI_ROAM_TRIGGER_SUB_REASON_LOW_RSSI_PERIODIC
WMI_ROAM_TRIGGER_SUB_REASON_INACTIVITY_TIMER_LOW_RSSI
WMI_ROAM_TRIGGER_SUB_REASON_PERIODIC_TIMER_AFTER_INACTIVITY_CU
WMI_ROAM_TRIGGER_SUB_REASON_PERIODIC_TIMER_AFTER_INACTIVITY_LOW_RSSI
WMI_ROAM_TRIGGER_SUB_REASON_INACTIVITY_TIMER_CU

Change-Id: I1aeb48d29561b48ac7b8762626fa0050f4fb9030
CRs-Fixed: 2742558
2020-07-31 16:26:22 -07:00
Abhinav Kumar
631f7d15a1 qcacld-3.0: Print info related to WTC BTM roaming
Print info related to WTC BTM roaming coming via
wmi_roam_trigger_reason_tlv_param.

Print timestamp, which indicates the time when btm response is sent
to AP, coming via wmi_roam_btm_response_info_tlv_param to HOST.

Change-Id: I2c408527739e1e2831015dd7b959ab17299abf6b
CRs-Fixed: 2740597
2020-07-31 12:02:25 -07:00
nakul kachhwaha
dcd3e2a624 qcacld-3.0: Add weightage to valid non-pcl channels
In scenarios where p2p is going to be the first connection,
while performing group negotiation, pass up the allowed non-pcl
channels with valid weight so that supplicant can include these
channels as well during negotiation.
Passing interface mode to policy_mgr_get_valid_chan_weights and
populating the channel list based on policy_mgr_is_concurrency_allowed
api for the given mode and assign WEIGHT_OF_NON_PCL_CHANNELS for all
allowed channels.

Change-Id: I8ff08163e6490642f9c2ebd9ca08f1275a2bb1b8
CRs-Fixed: 2734756
2020-07-31 07:43:28 -07:00
Gururaj Pandurangi
1f00e9ccd1 qcacld-3.0: Change Internal/External to External
Change the usage of cfg parameters from Internal/External
to External in .h description for mlme, p2p, and
policy manager files.
External means that both internal teams and external
customers can modify the parameters.

Change-Id: Ic1e68d5a90be2c898ce66aa18e8d91f16561b408
CRs-Fixed: 2712773
2020-07-29 00:23:16 -07:00
gaurank kathpalia
b6dc56c8cc qcacld-3.0: Limit the BTM timeout duration for next connection
- Limit the timeout value of the BLM entry if it has big comeback
 value and allow connection to that BSSID.
- Fix the BLM entry time stamp boundary checks.

Change-Id: I07bf7b1fce1c1e8d349c4fc0a9b0fed07f237197
CRs-Fixed: 2741689
2020-07-27 22:00:27 -07:00
Pragaspathi Thilagaraj
5fb48b5750 qcacld-3.0: Connection manager add ucfg API for sme roam operations
Add changes to handle north bound roaming operations/
configurations in connection manager. Add equivalent connection
manager api for userspace triggered roaming operations & driver
internally triggered roaming offload operations:
sme_enable_roaming() - ucfg_cm_rso_init_deinit : Driver
internally triggered
sme_config_fast_roaming() - ucfg_user_space_enable_disable_rso:
Userspace triggered
sme_start_roaming() - ucfg_cm_enable_rso() - Driver internally
triggered
sme_stop_roaming() - ucfg_cm_disable_rso() - Driver internally
triggered
sme_abort_roam_scan() - ucfg_user_space_abort_roam_scan() -User
space triggered

Change-Id: I65130f69f2afff61b9ef7334ec365d3ce7519930
CRs-Fixed: 2741055
2020-07-27 12:03:11 -07:00
Vulupala Shashank Reddy
2727866b28 qcacld-3.0: Allocate required memory for skb and radiotap
Mgmt txrx component clones skb and sends cloned
skb to its clients ex: packet capture component.
Need to Allocate memory and copy skb so that there
is enough space to copy radiotap header in skb for
packet capture mode.

Free skb cloned by Mgmt txrx component.

Change-Id: I6bc66b5916ec5a8cf28741e4fcb72f14650fdbfa
CRs-Fixed: 2730559
2020-07-27 09:03:39 -07:00
Vulupala Shashank Reddy
f03bd42cdc qcacld-3.0: Gracefully deregister packet capture callbacks
Deregistering packet capture callbacks can call while
processing mon thread which can lead to race condition.

To address this, deregister packet capture callbacks after
mon thread successfully processes its current packet.

Change-Id: I09640128a57ef6adac4e6a025cb81667e49b6e4c
CRs-Fixed: 2735587
2020-07-27 02:42:24 -07:00
Pragaspathi Thilagaraj
0cc9327e43 qcacld-3.0: Validate pcl_req in wlan_cm_roam_send_set_vdev_pcl()
In wlan_cm_roam_send_set_vdev_pcl(), pcl_req intially checked
for NULL can be dereferenced later.

Validate pcl_req and return error if pcl_req is NULL.

Change-Id: Iccc4e09c636d2643c319a1767bf8f673d6d36a80
CRs-Fixed: 2734082
2020-07-26 02:07:59 -07:00
Pankaj Singh
af44671317 qcacld-3.0: Extend Tdls external mode config support
Current implementation of external mode requires supplicant to
send tdls peer mac address. On matching of stats tdls implict
link procedure is trigger for configured peer.

Fix, to allow both configured peer and other peer that supports
tdls to establish the tdls link.

Change-Id: I8f65e6dcc9dec565623ac2d8d2c77e12570f8bfb
CRs-Fixed: 2733830
2020-07-24 13:10:00 -07:00
Bapiraju Alla
6b00fa1a59 qcacld-3.0: Don't trigger self recovery when recovery is in progress
Currently, self recovery is being triggered when suspend/resume
timeout happens. The self recovery API will creates a work to
trigger recovery handler. But this work is not required if the
suspend/resume timeout happens due to FW down. In this case the
recovery will happen as part FW down indication and no need to
trigger recovery for suspend/resume timeout.

Change-Id: I75ea9f67efb21a3e9aaea99b53c256460ba696c5
CRs-Fixed: 2739385
2020-07-24 07:10:11 -07:00
Kiran Kumar Lokere
be109fb59c qcacld-3.0: Add mandatory security checks for 6GHz connection
Check the required security types allowed for 6GHz connection and
do not allow the connection if the secutiry check fails.

Change-Id: Ic680c4600b3f17151e42f8708ff8810e5d16e52e
CRs-Fixed: 2715086
2020-07-24 02:00:53 -07:00
Gururaj Pandurangi
c66e0c9b04 qcacld-3.0: Enable 5.9 ghz channels for US
Add new channel 177 to wiphy struct ieee80211_channel
hdd_etsi13_srd_ch and rename the struct to
hdd_5dot9_ghz_ch.
Add a new ini fcc_5dot9_ghz_chan_in_master_mode to
enable/disable new 5.9 GHz channels 169, 173 and 177
in master mode.

Change-Id: I68dc3be18277ca0e416a579327f406279458899e
CRs-Fixed: 2693707
2020-07-23 17:23:55 -07:00
hqu
f36840cce8 qcacld-3.0: Move rso related process to connection manager [PART 2]
Add new code to implement below functions for connection manager
roam part:
WLAN_ROAMING_IN_PROG/WLAN_ROAM_SYNCH_IN_PROG related handler.
Filling below WMI cmd parameters related process:
WMI_VDEV_PARAM_BMISS_FIRST_BCNT
WMI_VDEV_PARAM_BMISS_FINAL_BCNT
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
WMI_ROAM_SCAN_PERIOD

Change-Id: I28439393a57c72012f9de51f24050f95366294bc
CRs-Fixed: 2738353
2020-07-23 06:59:59 -07:00
Rachit Kankane
3c6bd4eed3 qcacld-3.0: Add runtime support for Inter-Band MCC
To handle no-inter-band MCC scenarios for dual MAC non-DBS solutions,
add changes to detect capability at run-time based on service bits.
If the service is set then code for only intra-band MCC will be
exercised.

Change-Id: If62068f8f05c17278d279f36ec11bc9ca123dfbd
CRs-Fixed: 2730359
2020-07-23 06:59:43 -07:00
Srinivas Dasari
7586ee3a5e qcacld-3.0: Send NAN disable indication to userspace upon SSR
Currently, host driver sends NAN disable request to firmware and
firmware sends NAN disable indication as a response. Host driver
forwards this indication to framework. But when SSR happens,
driver needs to send this NAN disable indication to framework
as firmware lost the NAN context. This allows framework to
initiate NAN again. Send the NAN disable indication with success
status code to framework after recovery.

Change-Id: Ic2139e159f0c1d9c1fb5c39597ce18e0787e809b
CRs-Fixed: 2735047
2020-07-22 11:55:24 -07:00
Gururaj Pandurangi
7792f58388 qcacld-3.0: Enable NAN and NAN datapath by default
The NAN configs gEnableNanSupport and genable_nan_datapath
are being removed from ini config file. So, enable them by
default in .h file.

Change-Id: Ibc1e91e6d010994b5e1419b2241f846e0fde8969
CRs-Fixed: 2710133
2020-07-20 21:54:09 -07:00
Rajeev Kumar
e050826d17 qcacld-3.0: Reduce wow suspend/resume timeout to 4 seconds
Reduce wow suspend/resume timeout to 4 seconds to accommodate
lower DPM WD timeout values. WoW suspend/resume timeout value
should be less than DPM WD timeout.

Change-Id: I481ae544de0d26b49bcc0f5c4d4a384693707a5b
CRs-Fixed: 2730955
2020-07-20 04:46:45 -07:00
Huashan Qu
7277418aa5 qcacld-3.0: Move rso related process to connection manager [PART 1]
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:

csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.

Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
2020-07-18 18:13:31 -07:00
Abhinav Kumar
68c001d157 qcacld-3.0: Process Disconnect request from FW
FW sends a disconnect request to HOST while roaming failure
through event WMI_VDEV_DISCONNECT_EVENTID per vdev id.
Fix is:
1. Process WMI_VDEV_DISCONNECT_EVENTID and issue disconnection.
2. Make WMI_VDEV_DISCONNECT_EVENTID event as wakable

Change-Id: Ic1e83aace48a3e8424f23641b0e77c66f4283587
CRs-Fixed: 2731952
2020-07-17 21:25:40 -07:00
Ashish Kumar Dhanotiya
4b436bcbc3 qcacld-3.0: Do not block vdev trans if recovery in progress
Currently if SSR happens and at the same time if driver gets
del virtual interface which is a vdev transition, it bloks
this vdev transition and queues into dsc queue assuming that
it will execute once SSR completes.
There is an issue with above assumption,
del virtual interface comes with rtnl lock held which may lead
for other processes to misbehave which are waiting for rtnl lock.
in current case kernel is waiting for rtnl lock to send
shutdown to driver as part of the SSR and this rtnl lock is held
by del virtual interface which is waiting inside dsc queue for
SSR to complete, this leads to the deadlock.

To address above issue, do not insert the vdev transintion in
dsc queue in case of SSR and return the failure instead.

Change-Id: I19c897d68086d885f340d35c686badb70601076a
CRs-Fixed: 2730903
2020-07-17 17:23:16 -07:00
Vulupala Shashank Reddy
6c4a3b8d3c qcacld-3.0: Remove unnecessary clone of skb
Mgmt txrx component clones skb and sends cloned
skb to its clients ex: packet capture component.

Remove extra allocation of skb.

Change-Id: Ic130c13c9fcc52f250b52196b86c761d36a77ba2
CRs-Fixed: 2727370
2020-07-17 04:03:41 -07:00
Utkarsh Bhatnagar
be4a6f5365 qcacld-3.0: Add flush cb in TDLS
Add flush cb  using ucfg_tdls_post_msg_flush_cb() for these TDLS functions:

1. ucfg_tdls_add_peer.
2. ucfg_tdls_update_peer.
3. ucfg_tdls_oper.
4. ucfg_set_tdls_offchannel.
5. ucfg_set_tdls_offchan_mode.
6. ucfg_set_tdls_secoffchanneloffset.

Change-Id: Ic53c23c4738dccd7612e12e9da1eb206d5bfe6fb
CRs-Fixed: 2732230
2020-07-17 04:03:36 -07:00