Browse Source

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
Jeff Johnson 8 years ago
parent
commit
f7f66f0baf

+ 14 - 0
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);
+}

+ 12 - 0
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 */

+ 1 - 1
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);

+ 1 - 1
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;