From f7f66f0baf07c0427d97ece8e072c2872f9c6d8a Mon Sep 17 00:00:00 2001 From: Jeff Johnson Date: Fri, 23 Sep 2016 14:50:11 -0700 Subject: [PATCH] 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 --- core/hdd/src/wlan_hdd_lpass.c | 14 ++++++++++++++ core/hdd/src/wlan_hdd_lpass.h | 12 ++++++++++++ core/hdd/src/wlan_hdd_main.c | 2 +- core/hdd/src/wlan_hdd_power.c | 2 +- 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;