From 0f9e8208631bc741dac128effc3aef11b4567784 Mon Sep 17 00:00:00 2001 From: Surabhi Vishnoi Date: Mon, 6 Dec 2021 19:28:57 +0530 Subject: [PATCH] qcacld-3.0: Ignore idle_shutdown if any interface is up Ignore idle_shutdown if any interface is up. This is done to handle special scenario in which platform driver triggers idle shutdown when it receives Deep sleep/Hibernate entry notification from modem subsystem in wearable devices. Change-Id: I0f2a3bd4cbf0d7c0d3577dfbd15c7b3001d827d1 CRs-Fixed: 3091085 --- core/hdd/src/wlan_hdd_main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 9c0a6e88d35f..692fca6f8892 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -12262,6 +12262,16 @@ int hdd_psoc_idle_shutdown(struct device *dev) return -EINVAL; } + /* + * This is to handle scenario in which platform driver triggers + * idle_shutdown if Deep Sleep/Hibernate entry notification is + * received from modem subsystem in wearable devices + */ + if (hdd_is_any_interface_open(hdd_ctx)) { + hdd_err_rl("all interfaces are not down, ignore idle shutdown"); + return -EINVAL; + } + if (is_mode_change_psoc_idle_shutdown) ret = __hdd_mode_change_psoc_idle_shutdown(hdd_ctx); else