summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnson <jjohnson@codeaurora.org>2016-09-23 14:50:11 -0700
committerqcabuildsw <qcabuildsw@localhost>2016-10-03 16:48:11 -0700
commitf7f66f0baf07c0427d97ece8e072c2872f9c6d8a (patch)
treeb8c5ae6f3a8659b07f0ebdaa51dfb28f68339454
parent9afc501027aa871c4f714c57626b1f8da2c99a00 (diff)
qcacld-3.0: Refactor HDD LPASS "stop" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of the HDD LPASS logic. Continue that process by refactoring the "stop" logic such that the actual implementation is in the lpass feature file. Change-Id: I53bd57e2687e0d6fa2cb11bd34e19ee7eedb7969 CRs-Fixed: 1070700
-rw-r--r--core/hdd/src/wlan_hdd_lpass.c14
-rw-r--r--core/hdd/src/wlan_hdd_lpass.h12
-rw-r--r--core/hdd/src/wlan_hdd_main.c2
-rw-r--r--core/hdd/src/wlan_hdd_power.c2
4 files changed, 28 insertions, 2 deletions
diff --git a/core/hdd/src/wlan_hdd_lpass.c b/core/hdd/src/wlan_hdd_lpass.c
index d53663b418ea..19502908be38 100644
--- a/core/hdd/src/wlan_hdd_lpass.c
+++ b/core/hdd/src/wlan_hdd_lpass.c
@@ -277,3 +277,17 @@ void hdd_lpass_notify_start(struct hdd_context_s *hdd_ctx)
hdd_ctx->target_hw_version,
hdd_ctx->target_hw_name);
}
+
+/**
+ * hdd_lpass_notify_stop() - Notify LPASS of driver stop
+ * @hdd_ctx: The global HDD context
+ *
+ * This function is used to notify the LPASS feature that the wlan
+ * driver has stopped
+ *
+ * Return: none
+ */
+void hdd_lpass_notify_stop(struct hdd_context_s *hdd_ctx)
+{
+ wlan_hdd_send_status_pkg(NULL, NULL, 0, 0);
+}
diff --git a/core/hdd/src/wlan_hdd_lpass.h b/core/hdd/src/wlan_hdd_lpass.h
index 3d6d9b2fbf5b..3f9a7976b465 100644
--- a/core/hdd/src/wlan_hdd_lpass.h
+++ b/core/hdd/src/wlan_hdd_lpass.h
@@ -46,6 +46,17 @@ void wlan_hdd_send_all_scan_intf_info(hdd_context_t *hdd_ctx);
* Return: none
*/
void hdd_lpass_notify_start(struct hdd_context_s *hdd_ctx);
+
+/**
+ * hdd_lpass_notify_stop() - Notify LPASS of driver stop
+ * @hdd_ctx: The global HDD context
+ *
+ * This function is used to notify the LPASS feature that the wlan
+ * driver has stopped.
+ *
+ * Return: none
+ */
+void hdd_lpass_notify_stop(struct hdd_context_s *hdd_ctx);
#else
static inline void wlan_hdd_send_status_pkg(hdd_adapter_t *adapter,
hdd_station_ctx_t *sta_ctx,
@@ -59,6 +70,7 @@ static inline void wlan_hdd_send_all_scan_intf_info(hdd_context_t *hdd_ctx)
return;
}
static inline void hdd_lpass_notify_start(struct hdd_context_s *hdd_ctx) { }
+static inline void hdd_lpass_notify_stop(struct hdd_context_s *hdd_ctx) { }
#endif
#endif /* WLAN_HDD_LPASS_H */
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 699a5f62d2e8..78084a780c6a 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -4685,7 +4685,7 @@ void hdd_wlan_exit(hdd_context_t *hdd_ctx)
wiphy_unregister(wiphy);
wlan_hdd_cfg80211_deinit(wiphy);
- wlan_hdd_send_status_pkg(NULL, NULL, 0, 0);
+ hdd_lpass_notify_stop(hdd_ctx);
hdd_exit_netlink_services(hdd_ctx);
mutex_destroy(&hdd_ctx->iface_change_lock);
diff --git a/core/hdd/src/wlan_hdd_power.c b/core/hdd/src/wlan_hdd_power.c
index 24832518008a..a93ef0422b49 100644
--- a/core/hdd/src/wlan_hdd_power.c
+++ b/core/hdd/src/wlan_hdd_power.c
@@ -1469,7 +1469,7 @@ QDF_STATUS hdd_wlan_shutdown(void)
wlansap_global_deinit();
hdd_wlan_stop_modules(pHddCtx, true);
- wlan_hdd_send_status_pkg(NULL, NULL, 0, 0);
+ hdd_lpass_notify_stop(pHddCtx);
hdd_alert("WLAN driver shutdown complete");
return QDF_STATUS_SUCCESS;