Pārlūkot izejas kodu

qcacld-3.0: Refactor HDD LPASS "disconnect" logic

Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the
"disconnect" logic such that the actual implementation is in the lpass
feature file.

Change-Id: I7250582c8e0ba7423babfd6acfd23ff492d05037
CRs-Fixed: 1070700
Jeff Johnson 8 gadi atpakaļ
vecāks
revīzija
cef59bbc3b

+ 1 - 4
core/hdd/src/wlan_hdd_assoc.c

@@ -1392,10 +1392,7 @@ static void hdd_send_association_event(struct net_device *dev,
 							NULL,
 							pAdapter->device_mode);
 		}
-#ifdef WLAN_FEATURE_LPSS
-		pAdapter->rssi_send = false;
-		wlan_hdd_send_status_pkg(pAdapter, pHddStaCtx, 1, 0);
-#endif
+		hdd_lpass_notify_disconnect(pAdapter);
 #ifdef FEATURE_WLAN_TDLS
 		hdd_info("Disassoc: Check and enable or disable TDLS state ");
 		if ((pAdapter->device_mode == QDF_STA_MODE ||

+ 18 - 0
core/hdd/src/wlan_hdd_lpass.c

@@ -261,6 +261,24 @@ static void wlan_hdd_send_all_scan_intf_info(struct hdd_context_s *hdd_ctx)
 		wlan_hdd_send_status_pkg(adapter, NULL, 1, 0);
 }
 
+/**
+ * hdd_lpass_notify_disconnect() - Notify LPASS of interface disconnect
+ * @adapter: The adapter that connected
+ *
+ * This function is used to notify the LPASS feature that an adapter
+ * has disconnected.
+ *
+ * Return: none
+ */
+void hdd_lpass_notify_disconnect(struct hdd_adapter_s *adapter)
+{
+	struct hdd_station_ctx *sta_ctx;
+
+	adapter->rssi_send = false;
+	sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
+	wlan_hdd_send_status_pkg(adapter, sta_ctx, 1, 0);
+}
+
 /**
  * hdd_lpass_notify_mode_change() - Notify LPASS of interface mode change
  * @adapter: The adapter whose mode was changed

+ 14 - 0
core/hdd/src/wlan_hdd_lpass.h

@@ -36,6 +36,17 @@ void wlan_hdd_send_status_pkg(hdd_adapter_t *adapter,
 			      hdd_station_ctx_t *sta_ctx,
 			      uint8_t is_on, uint8_t is_connected);
 
+/**
+ * hdd_lpass_notify_disconnect() - Notify LPASS of interface disconnect
+ * @adapter: The adapter that connected
+ *
+ * This function is used to notify the LPASS feature that an adapter
+ * has disconnected.
+ *
+ * Return: none
+ */
+void hdd_lpass_notify_disconnect(struct hdd_adapter_s *adapter);
+
 /**
  * hdd_lpass_notify_mode_change() - Notify LPASS of interface mode change
  * @adapter: The adapter whose mode was changed
@@ -76,6 +87,9 @@ static inline void wlan_hdd_send_status_pkg(hdd_adapter_t *adapter,
 	return;
 }
 
+static inline void hdd_lpass_notify_disconnect(struct hdd_adapter_s *adapter)
+{
+}
 static inline void hdd_lpass_notify_mode_change(struct hdd_adapter_s *adapter)
 {
 }