Commit Graph

88 Commits

Author SHA1 Message Date
Shailendra Pratap Singh
b85783d78c qcacld-3.0: Add API to get listen interval value from driver
Add API to get LI which is configured by the user.
In case, user has not configured any interval,
device uses default LI and this cmd will return 0
Syntax for cli cmd: driver GET_LISTEN_INTERVAL

Change-Id: I3ef12ffc757288c057c88dceece7dbc2da68880b
CRs-Fixed: 3425472
2023-05-04 01:35:12 -07:00
Jingxiang Ge
5cfbcd0347 qcacld-3.0: block all wmi cmds if wow enable ack failed
If wow enable failed, block all the wmi cmds until
sub system recovery.

Change-Id: I0920b0ef304719f40f5ca7e61a2beb3687e16707
CRs-Fixed: 3471908
2023-04-27 19:54:14 -07:00
Deeksha Gupta
3ef027a672 qcacld-3.0: Send bridge Address in WMI_WOW_ADD_WAKE_PATTERN_CMDID
Currently, in WMI_WOW_ADD_WAKE_PATTERN_CMDID driver sends only SAP mac
address and pattern_id. So, FW does not have bridge mac address.

To fix it, driver will send bridge mac address and pattern_id along
with SAP mac address and pattern_id.

Change-Id: I3fae9f0383a1ba8c64edfa6cf8518ab9a5604a14
CRs-Fixed: 3456318
2023-04-17 00:42:52 -07:00
Rajeev Kumar
9568cbfe1c qcacld-3.0: Remove unwanted QDF asserts from PMO suspend all components
Remove unwanted QDF asserts from PMO and suspend all components as there is
error handling present for error cases.

Change-Id: I43b1ba36d9e2fb467a7a7c110abd4a2d44e5b1a8
CRs-Fixed: 3459928
2023-04-13 07:36:11 -07:00
Asutosh Mohapatra
639844a833 qcacld-3.0: Optimize PMO logs
Extensive amount of PMO logs are seen in case of crash, which
decreses the debugging effciency.

To address this issue, optimize PMO logs.

Change-Id: I7c3b76d72deaf53782befc6d931866d907b5d168
CRs-Fixed: 3402290
2023-02-12 22:16:04 -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
Surya Prakash Sivaraj
e1ce015186 qcacld-3.0: Extend KEK and KCK lengths
For GTK offload functionality, currently only 16bytes of
KEK and KCK are being copied from the userspace.

In latest kernel, kek length and kck length are sent to the
host driver as part of set_rekey_data command. Therefore,
use this length to copy the kek, kck params in host driver.

Change-Id: Idef0247aaab22022a84898eca6eb2f010ca1bf1f
CRs-Fixed: 3345506
2022-12-11 16:57:51 -08:00
Vinod Kumar Pirla
1e3a6f347e qcacld-3.0: Use MLD address for ML VDEV as WOW pattern
In certain concurrencies the total WOW patterns sent
to FW is exceeding the FW limit of five patterns which
can lead to ping failure as FW may drop the packet.

For STA mode ML adapter, send only the MLD MAC address
on which the data packet will be received.

Do not send ARP pattern in SAP/P2P-GO mode which is
sent with length zero.

On successful pattern delete request sent to FW,
decrement the default pattern count.

Change-Id: Ib45cf797a4bc3c6fbc23a2a95e877d7d8af34629
CRs-Fixed: 3257348
2022-08-27 15:15:27 -07:00
Arun Kumar Khandavalli
2fa9d87942 qcacld-3.0: Configure the mld address wow pattern during vdev create
Currently mac address is getting configured as the wow pattern
while the vdev is getting created, configure the mld address also
during the vdev creation so during legacy connection or roaming
between the ml-legacy vice versa there wont be packet drops because
of pattern mismatch.

Change-Id: I9b98649bca132a6665f2e4dd94d9c6b840223827
CRs-Fixed: 3124115
2022-03-22 10:43:52 -07:00
Will Huang
eb218a1c61 qcacld-3.0: Add vendor attribute to configure ARP/NS offload
In some scenario, it is required to receive every ARP/NS packet even
it is not to solicit address itself. So add this vendor attribute
configuration to enable/disable ARP/NS offload on fly.

On some platform, if target suspend to WoW mode, APF filter will drop
such ARP/NS packet in the front, so prevent runtime suspend happen
if disable ARP/NS offload. System suspend still allow in consideration
of potential power impact.

It only support on STA/P2P-Client mode device, and this configure is
optional, while default behavior is ARP/NS offload enable. It will
restore to default behavior if interface being closed.

Change-Id: Icd49e230024bc1ce51519cd9fafee9bc9f79f382
CRs-Fixed: 3058494
2021-11-10 23:02:37 -08:00
Alan Chen
d60caf55b0 qcacld-3.0: Delete use cases of INI enable_dynamic_pcie_gen_speed_switch
INI item enable_dynamic_pcie_gen_speed_switch is no longer. Hence,
delete all uses cases of it.

Change-Id: I1082620c4354bda48ebc54aae7e72e5a81c4aa94
CRs-Fixed: 3068122
2021-11-03 21:11:10 -07:00
Li Feng
1331092b43 qcacld-3.0: Configure magic pattern in line with ini setting
The ini gEnableWoW was designed to enable or disable both magic
pattern match and pattern byte match, but now host ignore the
magic pattern setting from the ini, always enable the magic
pattern instead.

configure magic pattern in line with ini gEnableWoW setting.

Change-Id: I309aff03de9bdbd36fe391784ba54cbfa0cad67b
CRs-Fixed: 3047199
2021-10-18 09:43:05 -07:00
Aditya Kodukula
37026bc3ff qcacld-3.0: Add Support to offload icmp feature to fw
Add support to offload icmp feature to fw in case of
suspended state to avoid high power consumption.

Change-Id: I3ff19d71eac530c75be57e6b52b975e755ff2a53
CRs-Fixed: 3042452
2021-10-12 00:08:44 -07:00
Alan Chen
62341748f0 qcacld-3.0: Add new ini item enable_dynamic_pcie_gen_speed_switch
Add new ini item enable_dynamic_pcie_gen_speed_switch for enabling
dynamic PCIe gen speed change.

Change-Id: I7dde4e40e56bf894c7edd0805d09425444648e6b
CRs-Fixed: 2977079
2021-07-07 06:41:27 -07:00
Li Feng
3d05280c82 qcacld-3.0: Avoid fw crash in some wow case on third party
Due to the limitation on third party platform, add ini to take
special care of the below wow case to avoid fw crash.
The sap/p2p_go shall kick out all the connected sta/p2p_gc and
then go to suspend if d0wow/d3wow is not supported.
Although there is wakelock try to prevent suspend after tdls link
setup, it won't take effect because auto sleep mechanism is not
supported on some third party platform, so teardown tdls link
by force before suspend.

Change-Id: I14bfe32f04cfc34d4f55a09820e42e65a1d9f925
CRs-Fixed: 2935295
2021-07-02 05:02:36 -07:00
Li Feng
4548644d92 qcacld-3.0: Set moddtim dynamically in the li offload mode
Extend hdd_config_modulated_dtim() to configure moddtim
dynamically in the both non li offload and li offload mode.

Change-Id: I8669ec618d4aa9cd87c4c234972ca500c98119b6
CRs-Fixed: 2970090
2021-07-01 04:24:12 -07:00
Yu Ouyang
1a3b66cbdd qcacld-3.0: Add new ini to config suspend mode
Sometimes we need PDEV suspend mode, WMI_PDEV_SUSPEND_CMDID and
WMI_PDEV_RESUME_CMDID. But currently design, only support WoW
suspend or not support two choices. And, there are two confused
ini configuration, gDisableWow and gEnableWoW.

1. Add new ini gSuspendMode to set suspend mode. Default 2.
	0, does not support suspend
	1, legency pdev suspend mode
	2, WoW suspend mode
2. Clean gDisableWow. It is replaced by gSuspendMode=0.
   HDD suspend/resume function get the value by new API
   ucfg_pmo_get_suspend_mode().

Change-Id: Icbeef3df6879ca2054f64e0292e9b9469c4936d4
CRs-fixed: 2940788
2021-05-13 12:32:44 -07:00
sheenam monga
6e6c139e05 qcacld-3.0: Add support to offload igmp feature to fw
offload igmp feature to fw in case of suspended state
to avoid high power consumption.

Change-Id: I05fbf23dc2836f8f5dc6e2f45b35bf2d30c39790
CRs-Fixed: 2907644
2021-04-05 15:22:23 -07:00
Yeshwanth Sriram Guntuka
43a40f83b0 qcacld-3.0: Set system suspend/resume state in hif ctx
Set system state in hif ctx to suspend or resume on
system suspend and resume respectively.

Change-Id: If1904a4fe5c861deed1b35071be10cb8cc8d6407
CRs-Fixed: 2899520
2021-03-31 01:03:47 -07:00
Manikanta Pubbisetty
46dc98965e qcacld-3.0: disable EXT grp irqs and drain TXRX during suspend
Any update to the SRNG TP/HP when the device is in low power
state would result in system errors. While in D3 WoW mode,
disable EXT grp irqs and drain TXRX before sending enter
power save mode to the FW. This will ensure that no interrupts
are received while in WoW mode and as a result there wont be any
HP/TP updates.

Change-Id: Ic1fb7fdd45096b458abf5d243fa652c3da878dc0
CRs-Fixed: 2890568
2021-03-14 08:42:48 +05:30
Rajeev Kumar
2906b33aa3 qcacld-3.0: Add FW capability check for sap and go d3 wow
Add WMI service FW capability check before enabling D0 and D3
WoW for SAP and GO clients connected mode.

Change-Id: I878e4ee33807804e049bf1e8b8078d28fc1d4834
CRs-Fixed: 2869072
2021-02-05 00:30:48 -08:00
Alan Chen
b52dadc0b5 qcacld-3.0: Split SAP and GO modes ini
Rename existing INI to enable_bus_suspend_in_sap_mode and define a
new enable_bus_suspend_in_go_mode. Also define new APIs
wma_is_vdev_in_sap_mode and wma_is_vdev_in_go_mode.

Change-Id: If38c4db7b3d1f7323df45d9a7d80a02a44e7ca41
CRs-Fixed: 2864596
2021-01-28 04:17:57 -08:00
Alan Chen
a9a470290f qcacld-3.0: Add PMO config for PCIe bus suspend in beaconing mode
By default, PCIe bus suspend is not allowed in beaconing modes
(SAP/P2PGO/NDP) with one or more clients connected. Some OEMs need
PCIe bus suspend in this mode. Hence, add a config item to serve
both types of requests.

Change-Id: Ia2d990f17f605036d43db75ecd4df57701b4ba1f
CRs-Fixed: 2860495
2021-01-23 21:39:11 -08:00
Bapiraju Alla
19f4eb9bb6 qcacld-3.0: Request stats over qmi only when target suspend is success
Currently, Stats request commands are sent over qmi right from the
target suspend request is sent to FW. This is leading to a crash in
FW since it is trying to access PCI when it is in suspend state.

To address this, send stats request over QMI only after the ack is
received for the target suspend command.

Change-Id: I1b2b6a60c5d8c7ec4375d328e58a66d749794e3f
CRs-Fixed: 2835903
2020-12-17 13:39:50 -08:00
Li Feng
292b491dd8 qcacld-3.0: Add gpio irq as wakeup source
On some third party platform, the in-band bus suspend-resume is
not supported well, instead add gpio irq as wakeup source to
support out-of-band suspend-resume.

Change-Id: I7621f04d093013e15719b5c84dc244604be238df
CRs-Fixed: 2815754
2020-11-19 18:23:13 -08:00
Abdul Muqtadeer Ahmed
8e37d3f6eb qcacld-3.0: Use objmgr api to get the vdev for pmo
Currently pmo_psoc_get_vdev api just returns the vdev without
taking the vdev reference and it is caller's responsibility to
take the reference, there could be a race condition where after
getting the vdev and before getting the reference of that vdev,
some other thread may delete this vdev.

To avoid this issue use objmgr api to get the vdev for pmo.

Change-Id: I3495589e2dbbb7d8efc579a62fff1a08a92c318f
CRs-Fixed: 2771211
2020-10-29 02:45:46 -07:00
Srinivas Girigowda
d36054fbd2 qcacld-3.0: components: Remove logs for qdf_mem_malloc() checks
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: If0b9425f82f9ed793c7639c0ed09eb1f868b6d5c
CRs-Fixed: 2781932
2020-09-25 12:59:42 -07:00
Alan Chen
53d838dcb3 qcacld-3.0: Add check for OPM power save enabled
Qpower config should not be allowed if Qpower config/OPM power save config
is disabled in ini file.

Change-Id: Iff21159f30731f7188506ab5e5e3133d02203b6b
CRs-Fixed: 2778632
2020-09-17 10:18:06 -07:00
Li Feng
0e6dc924e5 qcacld-3.0: Add ini entry for wow pulse configuration
qcacld-2.0 to qcacld-3.0 propagation

Add ini entry to configure wow pulse repetition count
and wow pulse init level.

Change-Id: Ic23d2ae80f6f0adef9f35bfef5a59eb0220c70ae
CRs-Fixed: 2722997
2020-07-08 06:51:42 -07:00
Bapiraju Alla
920ca1e805 qcacld-3.0: Remove unused wowlan INIs
Remove wowlan_deauth_enable and wowlan_disassoc_enable INI params as
these are unused

Change-Id: I90d10995365771359f1bcd029b9193437ad67a18
CRs-Fixed: 2678156
2020-05-22 04:36:31 -07:00
Srinivas Dasari
4670f330c1 qcacld-3.0: Replace WLAN_FEATURE_NAN_DATAPATH with WLAN_FEATURE_NAN
WLAN_FEATURE_NAN_DATAPATH is deprecated and the define is also
removed. But there is still some code(NDP wakelock event
configuration) which is guarded in this flag and it never gets
compiled. So replace WLAN_FEATURE_NAN_DATAPATH with overall
NAN feature define WLAN_FEATURE_NAN and move it to a separate
API.
Also, enhance log to print the complete 16-byte bitmap in hex
format.

Change-Id: I1ad51efc2b6a088022601686744802995fb7b4b7
CRs-Fixed: 2679286
2020-05-15 21:45:29 -07:00
Alan Chen
06551ba572 qcacld-3.0: Rename gEnablePowerSaveOffload to gAdvancedPowerSaveMode
gEnablePowerSaveOffload is confusing, so change it to
gAdvancedPowerSaveMode.

Value 0: Disable advanced power save
Value 1: Enable advanced power save

Change-Id: Ib5593ef31eedacdc232ffbad183974e2cd847e83
CRs-Fixed: 2676664
2020-05-04 23:12:06 -07:00
Abhishek Singh
d043d18792 qcacld-3.0: Optimize PMO logs
Optimize PMO logs.

Change-Id: I99122adece0991711961344cfe69e2869386fef1
CRs-Fixed: 2633552
2020-03-05 22:07:42 -08:00
Abhishek Singh
a7d74b38d6 qcacld-3.0: Remove unnecessary enter exit from PMO functions
Remove unnecessary enter exit from PMO functions.

Change-Id: I5b15d5d943f91fad68dfdf98a0f343e6c1379364
CRs-Fixed: 2628634
2020-02-26 16:33:23 -08:00
Jingxiang Ge
ad6337f2b0 qcacld-3.0: Fix spin_lock deadlock issue for resume/wakeup
If resume and fw wakeup happens at the same time.
psoc_ctx->lock maybe doing bottom half operation for resume,
then wakeup interrupt comes on same cpu, the interrupt
handler will also acquire psoc_ctx->lock in
pmo_core_update_wow_initial_wake_up, which cause dead lock.

Using atomic for wow_initial_wake_up, so the interrupt handler
can avoid using spin_lock.

Change-Id: Id0e963a0924415e9660c57a1c1b776d3e609213d
CRs-Fixed: 2624899
2020-02-20 04:51:04 -08:00
Jianmin Zhu
5b0746560d qcacld-3.0: suspend scan before scheduler thread suspended
Scan cmd still can be exist after scheduler thread is suspended
when host suspend, the scan cmd can't be removed from
serialization list by either complete or cancel any more since
both depends on scheduler thread, suspend thread blocked 30s to
wait scan cmd cleared.

Roam sync event from F/W can't be handled and Roam sync complete
can't be sent to F/W since scheduler thread suspended, then F/W
assert for roam sync cmd timeout.

After receive F/W down event, host will try SSR, but blocked by
unfinished suspend thread too.

Fix: suspend all components including scan before suspend
scheduler thread, make sure scan cmd is cleared and no new scan
is allowed any more before scheduler thread suspended.

Change-Id: I7a3badeedea018e4d92bbe8660692e42923852aa
CRs-Fixed: 2620650
2020-02-15 01:58:26 -08:00
Abhishek Singh
a7efaea28f qcacld-3.0: Optimize PMO prints
Optimize PMO prints.

Change-Id: I0595e5b51edfe3ad0a0abb239cb53e67938d2efa
CRs-Fixed: 2621351
2020-02-14 12:09:29 -08:00
Vevek Venkatesan
0ac759fc1c qcacld-3.0: cdp: Converge cdp_cmn_ops
Currently cdp ops are given pdev/vdev/peer
handle as its arguments which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev_id or vdev_id or peer mac address,
which will be used to get the respective handles,
and hence avoiding the unwanted access of the
handles if it has been deleted.

- txrx_data_tx_cb_set
- txrx_mgmt_tx_cb_set
- txrx_mgmt_send_ext
- txrx_pdev_attach_target
- txrx_pdev_detach
- txrx_vdev_attach
- txrx_vdev_register
- txrx_vdev_detach
- txrx_peer_create
- txrx_peer_delete
- txrx_peer_delete_sync
- txrx_fw_stats_get
- txrx_get_vdev_from_vdev_id
- txrx_pdev_set_ctrl_pdev
- txrx_pdev_attach
- txrx_get_vdev_mac_addr
- txrx_pdev_post_attach
- txrx_pdev_pre_detach
- txrx_get_ctrl_pdev_from_vdev
- txrx_get_mon_vdev_from_pdev

Change-Id: Ib8b0b1edd63e7c3f8813b11ca26b50ec121fe255
CRs-Fixed: 2541459
2019-12-27 03:24:09 -08:00
Sourav Mohapatra
60c3b2b014 qcacld-3.0: Add checks to NS and ARP offload requests
Currently the offloading of the NS and ARP to firmware is inefficient;
redundant caching is performed even if offload is not sent. This causes
wastage of resources and increases code complexity.

Introduce checks before caching and offload to ensure that the mentioned
inefficiencies are taken care of.

Change-Id: I6013810e1e08adb15c801f4fc21e1b50371bacda
CRs-Fixed: 2569763
2019-11-22 05:35:35 -08:00
Rakesh Pillai
6a36b0a26a qcacld-3.0: cdp: Convergence of cdp misc ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged misc_ops
- tx_non_std
- get_opmode
- get_tx_ack_stats
- set_ibss_vdev_heart_beat_timer
- hl_tdls_flag_reset
- set_wisa_mode
- txrx_post_data_stall_event
- update_mac_id
- pkt_log_init
- pkt_log_con_service
- get_num_rx_contexts
- set_wmm_param
- flush_rx_frames
- bad_peer_txctl_set_setting
- bad_peer_txctl_update_threshold
- txrx_data_stall_cb_register
- txrx_data_stall_cb_deregister
- vdev_set_driver_del_ack_enable
- get_intra_bss_fwd_pkts_count
- mark_first_wakeup_packet
- register_pktdump_cb
- unregister_pktdump_cb
- pdev_reset_driver_del_ack
- runtime_suspend
- runtime_resume

CRs-Fixed: 2539735
Change-Id: I2baad09fde29d439ae2099e01e4e68ed6b94196d
2019-11-21 06:11:43 -08:00
Pragaspathi Thilagaraj
b40c260f17 qcacld-3.0: Register action frames for wake up during runtime PM
Currently the bitmap of action frames that can wake up the host
during suspend is sent via the wmi command
WMI_WOW_SET_ACTION_WAKE_UP_CMDID. This bitmap doesn't include
RRM action frames so currently the host doesn't wake up for rrm
action frames when in suspend mode.

Selectively enable wake up for rrm action frames during runtime PM
alone. Don't enable host wake up during normal suspend as it will
consume more power.

Change-Id: I097596118c2888fc9ea24802e4dbe69d02c5c5f7
CRs-Fixed: 2507185
2019-09-28 04:01:10 -07:00
Pragaspathi Thilagaraj
eb367282fd qcacld-3.0: Handle wmi_key_material_ext tlv of ROAM_SYNCH event
With current design, firmware sends the kck, kek and replay
counters as part of wmi_key_material tlv over the
WMI_ROAM_SYNCH_EVENTID event. But the maximum supported kck key
length in wmi_key_material was 16 bytes. But for FT Suite-B
(akm 00:0f:ac:13), the kck_bits is 24 bytes long and cannot be
sent over wmi_key_material. So firmware sends kck, kek and
replay counter values over the new tlv wmi_key_material_ext.

Host driver copies the kck key with fixed 16 byte length to the
upper layers. Introduce kck_length parameter in csr_roam_info
and roam_offload_synch_ind structures and copy kck based on this
length.

Also fix maximum number of AKM suites supported to 5, as some
certification test cases advertise 5 akms.

Change-Id: Iab050e3e3f7efead8070a02094998d15f7ffcbd0
CRs-Fixed: 2400770
2019-04-24 20:23:59 -07:00
Pragaspathi Thilagaraj
aa8320e1c6 qcacld-3.0: Send idle roam trigger monitor command to firmware
Send idle roam trigger monitor command to firmware based on
the SET SUSPEND mode command received from the user space.
The set suspend mode value sent will be used by firmware as
one of the parameters in determining if the device is in
idle state. When set suspend mode is 1, device is not in
idle state else the device is considered idle if idle state
data packet count, idle rssi, inactivity time criteria are met.

Add changes to send the suspend mode value over the wmi
command WMI_IDLE_TRIGGER_MONITOR_CMDID.

Change-Id: Ia4531fdab140334dbb830e0d7486db07bbdfc7e8
CRs-Fixed: 2436221
2019-04-18 17:02:14 -07:00
Ajit Pal Singh
775bf3ae4b qcacld-3.0: pmo: Add API to get target suspend state
In USB devices even if the driver returns an error from bus_suspend,
still the kernel/platform goes into suspend as any error from USB
bus_suspend is ignored.
During suspend, if WoW or suspend was NACked by FW, we should not
send WMI_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID, WMI_PDEV_RESUME_CMDID to disable
WoW or resume device (in the next system resume)
Add new PMO API to get target suspend state and use it to check if
device should be resumed.

Change-Id: Ic6be05f4f2d36ffe174774b6cd55c6da6b1ea1b8
CRs-Fixed: 2421591
2019-04-05 08:37:19 -07:00
Bala Venkatesh
0f74545bb3 qcacld-3.0: Replace duplicate api's of vdev_connected
Currently, the vdev connection status is checked by getting
the bss peer of that vdev, and if the bss peer is in associated
state then vdev connected status is sent as true. It can happen
vdev is present and bss peer is deleted after getting the bss peer
from vdev pointer. Then bss peer can not be dereferenced to get the
its status.

Instead remove all the duplicate api's tdls_is_vdev_connected,
pmo_core_is_vdev_connected, and wlan_vdev_is_connected with
wlan_vdev_is_up. wlan_vdev_is_up gives success status
if associated.

Change-Id: I863c3c0689f329870bd08c813813c16956135209
CRs-Fixed: 2424996
2019-03-29 15:26:58 -07:00
Jeff Johnson
361e1786c6 qcacld-3.0: pmo: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within pmo replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: I3697ede27e074252017e31be23caa93fc25885c5
CRs-Fixed: 2418398
2019-03-19 02:24:37 -07:00
wadesong
e1fc997982 qcacld-3.0: Code refine for SSDP and DTIM config
1) 'ssdp' in t_wma_handle structure is not used anymore,
   remove this redundant field.
2) ucfg_pmo_set_sta_mod_dtim and ucfg_pmo_get_sta_mod_dtim
   should have been accessing 'sta_mod_dtim' instead of
   'sta_dynamic_dtim' in struct pmo_psoc_cfg.

Change-Id: Iedd7bed1c9f637a819f97b6d8c687b784739dd62
CRs-Fixed: 2415087
2019-03-13 23:21:20 -07:00
Nachiket Kukade
6159553884 qcacld-3.0: In PMO, replace cfg_get_int with component cfg API's
Legacy WNI CFG items are refactored into new CFG implementation.
PMO uses a wma callback which uses cfg_get API to get listen
interval. Listen interval is now part of the MLME component's
private object. Define API's to get this value and use it instead
of the callbacks.

Remove WMA callback implementation and use new API that gets
listen interval from MLME component.

Change-Id: I797001ea14cc654f9daee3ce297e1ad0c0a08f2a
CRs-Fixed: 2386725
2019-02-17 20:49:59 -08:00
Wu Gao
9d117fbfc2 qcacld-3.0: Refactor three INI in PMO
Based on cfg framework, refactor below INI:
 - CFG_RA_RATE_LIMIT_INTERVAL_NAME
 - CFG_ACTIVE_UC_APF_MODE_NAME
 - CFG_ACTIVE_MC_BC_APF_MODE_NAME

Change-Id: I3b1ee6254de158ad6408dc8c61e83be571e180af
CRs-Fixed: 2379743
2019-01-13 18:45:51 -08:00
Wu Gao
a796d7153a qcacld-3.0: Refactor one WNI cfg and two INI cfg about PMO
Based on new cfg framework, refactor below WNI and INI cfg items:
 - WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT
 - g_wow_data_inactivity_timeout
 - gDisablePacketFilter

Change-Id: I9a975263021ba4fd5ccea19ed1147a661f73317f
CRs-Fixed: 2375866
2019-01-10 19:42:02 -08:00