ソースを参照

qcacld-3.0: Remove legacy WEP CFG definitions

Remove the legacy definitions that are related to the WEP
cfg.
Move them to mlme component

Change-Id: Ibcec8adf15123d12ad7c2eb6ed770b44a093673a
CRs-Fixed: 2324046
Pragaspathi Thilagaraj 6 年 前
コミット
bf367984e1

+ 23 - 0
mlme/dispatcher/inc/wlan_mlme_api.h

@@ -62,6 +62,29 @@ QDF_STATUS wlan_mlme_set_cfg_str(uint8_t *src, struct mlme_cfg_str *dst_cfg_str,
 QDF_STATUS wlan_mlme_get_edca_params(struct wlan_mlme_edca_params *edca_params,
 				     uint8_t *data, enum e_edca_type edca_ac);
 
+/*
+ * mlme_get_wep_key() - get the wep key to process during auth frame
+ * @wep_params: cfg wep parameters structure
+ * @wep_key_id: default key number
+ * @default_key: default key to be copied
+ * @key_len: length of the key to copy
+ *
+ * Return QDF_STATUS
+ */
+QDF_STATUS mlme_get_wep_key(struct wlan_mlme_wep_cfg *wep_params,
+			    enum wep_key_id wep_keyid, uint8_t *default_key,
+			    qdf_size_t key_len);
+
+/**
+ * mlme_set_wep_key() - set the wep keys during auth
+ * @wep_params: cfg wep parametrs structure
+ * @wep_key_id: default key number that needs to be copied
+ * @key_to_set: destination buffer to be copied
+ * @len:        size to be copied
+ */
+QDF_STATUS mlme_set_wep_key(struct wlan_mlme_wep_cfg *wep_params,
+			    enum wep_key_id wep_keyid, uint8_t *key_to_set,
+			    qdf_size_t len);
 /**
  * wlan_mlme_get_ht_cap_info() - Get the HT cap info config
  * @psoc: pointer to psoc object

+ 14 - 0
mlme/dispatcher/inc/wlan_mlme_public_struct.h

@@ -842,6 +842,20 @@ struct wlan_mlme_oce {
 
 #define MLME_WEP_MAX_KEY_LEN (13)
 
+/**
+ * enum wep_key_id  - values passed to get/set wep default keys
+ * @MLME_WEP_DEFAULT_KEY_1: wep default key 1
+ * @MLME_WEP_DEFAULT_KEY_2: wep default key 2
+ * @MLME_WEP_DEFAULT_KEY_3: wep default key 3
+ * @MLME_WEP_DEFAULT_KEY_4: wep default key 4
+ */
+enum wep_key_id {
+	MLME_WEP_DEFAULT_KEY_1 = 0,
+	MLME_WEP_DEFAULT_KEY_2,
+	MLME_WEP_DEFAULT_KEY_3,
+	MLME_WEP_DEFAULT_KEY_4
+};
+
 /**
  * struct wlan_mlme_wep_cfg - WEP related configs
  * @is_privacy_enabled:     Flag to check if encryption is enabled

+ 77 - 0
mlme/dispatcher/src/wlan_mlme_api.c

@@ -855,3 +855,80 @@ QDF_STATUS wlan_mlme_get_edca_params(struct wlan_mlme_edca_params *edca_params,
 	}
 	return QDF_STATUS_SUCCESS;
 }
+
+QDF_STATUS mlme_get_wep_key(struct wlan_mlme_wep_cfg *wep_params,
+			    enum wep_key_id wep_keyid, uint8_t *default_key,
+			    qdf_size_t key_len)
+{
+	switch (wep_keyid) {
+	case MLME_WEP_DEFAULT_KEY_1:
+		wlan_mlme_get_cfg_str(default_key,
+				      &wep_params->wep_default_key_1,
+				      &key_len);
+		break;
+
+	case MLME_WEP_DEFAULT_KEY_2:
+		wlan_mlme_get_cfg_str(default_key,
+				      &wep_params->wep_default_key_2,
+				      &key_len);
+		break;
+
+	case MLME_WEP_DEFAULT_KEY_3:
+		wlan_mlme_get_cfg_str(default_key,
+				      &wep_params->wep_default_key_3,
+				      &key_len);
+		break;
+
+	case MLME_WEP_DEFAULT_KEY_4:
+		wlan_mlme_get_cfg_str(default_key,
+				      &wep_params->wep_default_key_4,
+				      &key_len);
+		break;
+
+	default:
+		mlme_err("Invalid key id:%d", wep_keyid);
+		return QDF_STATUS_E_INVAL;
+	}
+	return QDF_STATUS_SUCCESS;
+}
+
+QDF_STATUS mlme_set_wep_key(struct wlan_mlme_wep_cfg *wep_params,
+			    enum wep_key_id wep_keyid, uint8_t *key_to_set,
+			    qdf_size_t len)
+{
+	if (len == 0) {
+		mlme_debug("WEP set key length is zero");
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	switch (wep_keyid) {
+	case MLME_WEP_DEFAULT_KEY_1:
+		wlan_mlme_set_cfg_str(key_to_set,
+				      &wep_params->wep_default_key_1,
+				      len);
+		break;
+
+	case MLME_WEP_DEFAULT_KEY_2:
+		wlan_mlme_set_cfg_str(key_to_set,
+				      &wep_params->wep_default_key_2,
+				      len);
+		break;
+
+	case MLME_WEP_DEFAULT_KEY_3:
+		wlan_mlme_set_cfg_str(key_to_set,
+				      &wep_params->wep_default_key_3,
+				      len);
+		break;
+
+	case MLME_WEP_DEFAULT_KEY_4:
+		wlan_mlme_set_cfg_str(key_to_set,
+				      &wep_params->wep_default_key_4,
+				      len);
+		break;
+
+	default:
+		mlme_err("Invalid key id:%d", wep_keyid);
+		return QDF_STATUS_E_INVAL;
+	}
+	return QDF_STATUS_SUCCESS;
+}