|
@@ -166,6 +166,7 @@
|
|
|
#include "wlan_if_mgr_public_struct.h"
|
|
|
#endif
|
|
|
#include "wlan_wfa_ucfg_api.h"
|
|
|
+#include <osif_cm_util.h>
|
|
|
|
|
|
#define g_mode_rates_size (12)
|
|
|
#define a_mode_rates_size (8)
|
|
@@ -20927,115 +20928,6 @@ static const char *hdd_ieee80211_reason_code_to_str(uint16_t reason)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * hdd_qca_reason_to_str() - return string conversion of qca reason code
|
|
|
- * @reason: enum qca_disconnect_reason_codes
|
|
|
- *
|
|
|
- * This utility function helps log string conversion of qca reason code.
|
|
|
- *
|
|
|
- * Return: string conversion of reason code, if match found;
|
|
|
- * "Unknown" otherwise.
|
|
|
- */
|
|
|
-static const char *
|
|
|
-hdd_qca_reason_to_str(enum qca_disconnect_reason_codes reason)
|
|
|
-{
|
|
|
- switch (reason) {
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_INTERNAL_ROAM_FAILURE);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_EXTERNAL_ROAM_FAILURE);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_GATEWAY_REACHABILITY_FAILURE);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_UNSUPPORTED_CHANNEL_CSA);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_OPER_CHANNEL_DISABLED_INDOOR);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_OPER_CHANNEL_USER_DISABLED);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_DEVICE_RECOVERY);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_KEY_TIMEOUT);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_OPER_CHANNEL_BAND_CHANGE);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_IFACE_DOWN);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_PEER_XRETRY_FAIL);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_PEER_INACTIVITY);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_SA_QUERY_TIMEOUT);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_BEACON_MISS_FAILURE);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_CHANNEL_SWITCH_FAILURE);
|
|
|
- CASE_RETURN_STRING(QCA_DISCONNECT_REASON_USER_TRIGGERED);
|
|
|
- case QCA_DISCONNECT_REASON_UNSPECIFIED:
|
|
|
- return "";
|
|
|
- default:
|
|
|
- return "Unknown";
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-/**
|
|
|
- * wlan_hdd_sir_mac_to_qca_reason() - Convert to qca internal disconnect reason
|
|
|
- * @internal_reason: Mac reason code of type @enum wlan_reason_code
|
|
|
- *
|
|
|
- * Check if it is internal reason code and convert it to the
|
|
|
- * enum qca_disconnect_reason_codes.
|
|
|
- *
|
|
|
- * Return: Reason code of type enum qca_disconnect_reason_codes
|
|
|
- */
|
|
|
-static enum qca_disconnect_reason_codes
|
|
|
-wlan_hdd_sir_mac_to_qca_reason(enum wlan_reason_code internal_reason)
|
|
|
-{
|
|
|
- enum qca_disconnect_reason_codes reason =
|
|
|
- QCA_DISCONNECT_REASON_UNSPECIFIED;
|
|
|
- switch (internal_reason) {
|
|
|
- case REASON_HOST_TRIGGERED_ROAM_FAILURE:
|
|
|
- case REASON_FW_TRIGGERED_ROAM_FAILURE:
|
|
|
- reason = QCA_DISCONNECT_REASON_INTERNAL_ROAM_FAILURE;
|
|
|
- break;
|
|
|
- case REASON_USER_TRIGGERED_ROAM_FAILURE:
|
|
|
- reason = QCA_DISCONNECT_REASON_EXTERNAL_ROAM_FAILURE;
|
|
|
- break;
|
|
|
- case REASON_GATEWAY_REACHABILITY_FAILURE:
|
|
|
- reason =
|
|
|
- QCA_DISCONNECT_REASON_GATEWAY_REACHABILITY_FAILURE;
|
|
|
- break;
|
|
|
- case REASON_UNSUPPORTED_CHANNEL_CSA:
|
|
|
- reason = QCA_DISCONNECT_REASON_UNSUPPORTED_CHANNEL_CSA;
|
|
|
- break;
|
|
|
- case REASON_OPER_CHANNEL_DISABLED_INDOOR:
|
|
|
- reason =
|
|
|
- QCA_DISCONNECT_REASON_OPER_CHANNEL_DISABLED_INDOOR;
|
|
|
- break;
|
|
|
- case REASON_OPER_CHANNEL_USER_DISABLED:
|
|
|
- reason =
|
|
|
- QCA_DISCONNECT_REASON_OPER_CHANNEL_USER_DISABLED;
|
|
|
- break;
|
|
|
- case REASON_DEVICE_RECOVERY:
|
|
|
- reason = QCA_DISCONNECT_REASON_DEVICE_RECOVERY;
|
|
|
- break;
|
|
|
- case REASON_KEY_TIMEOUT:
|
|
|
- reason = QCA_DISCONNECT_REASON_KEY_TIMEOUT;
|
|
|
- break;
|
|
|
- case REASON_OPER_CHANNEL_BAND_CHANGE:
|
|
|
- reason = QCA_DISCONNECT_REASON_OPER_CHANNEL_BAND_CHANGE;
|
|
|
- break;
|
|
|
- case REASON_IFACE_DOWN:
|
|
|
- reason = QCA_DISCONNECT_REASON_IFACE_DOWN;
|
|
|
- break;
|
|
|
- case REASON_PEER_XRETRY_FAIL:
|
|
|
- reason = QCA_DISCONNECT_REASON_PEER_XRETRY_FAIL;
|
|
|
- break;
|
|
|
- case REASON_PEER_INACTIVITY:
|
|
|
- reason = QCA_DISCONNECT_REASON_PEER_INACTIVITY;
|
|
|
- break;
|
|
|
- case REASON_SA_QUERY_TIMEOUT:
|
|
|
- reason = QCA_DISCONNECT_REASON_SA_QUERY_TIMEOUT;
|
|
|
- break;
|
|
|
- case REASON_CHANNEL_SWITCH_FAILED:
|
|
|
- reason = QCA_DISCONNECT_REASON_CHANNEL_SWITCH_FAILURE;
|
|
|
- break;
|
|
|
- case REASON_BEACON_MISSED:
|
|
|
- reason = QCA_DISCONNECT_REASON_BEACON_MISS_FAILURE;
|
|
|
- break;
|
|
|
- default:
|
|
|
- hdd_debug("No QCA reason code for mac reason: %u",
|
|
|
- internal_reason);
|
|
|
- /* Unspecified reason by default */
|
|
|
- }
|
|
|
-
|
|
|
- return reason;
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* wlan_hdd_get_ieee80211_disconnect_reason() - Get ieee80211 disconnect reason
|
|
|
* @adapter: pointer to adapter structure
|
|
@@ -21060,7 +20952,7 @@ wlan_hdd_get_cfg80211_disconnect_reason(struct hdd_adapter *adapter,
|
|
|
*/
|
|
|
if (reason >= REASON_PROP_START) {
|
|
|
adapter->last_disconnect_reason =
|
|
|
- wlan_hdd_sir_mac_to_qca_reason(reason);
|
|
|
+ osif_cm_mac_to_qca_reason(reason);
|
|
|
/*
|
|
|
* Applications expect reason code as 0 for beacon miss failure
|
|
|
* due to backward compatibility. So send ieee80211_reason as 0.
|
|
@@ -21093,7 +20985,7 @@ wlan_hdd_cfg80211_indicate_disconnect(struct hdd_adapter *adapter,
|
|
|
ieee80211_reason,
|
|
|
hdd_ieee80211_reason_code_to_str(ieee80211_reason),
|
|
|
adapter->last_disconnect_reason,
|
|
|
- hdd_qca_reason_to_str(adapter->last_disconnect_reason),
|
|
|
+ osif_cm_qca_reason_to_str(adapter->last_disconnect_reason),
|
|
|
locally_generated);
|
|
|
cfg80211_disconnected(adapter->dev, ieee80211_reason, disconnect_ies,
|
|
|
disconnect_ies_len, locally_generated,
|
|
@@ -21115,7 +21007,7 @@ wlan_hdd_cfg80211_indicate_disconnect(struct hdd_adapter *adapter,
|
|
|
ieee80211_reason,
|
|
|
hdd_ieee80211_reason_code_to_str(ieee80211_reason),
|
|
|
adapter->last_disconnect_reason,
|
|
|
- hdd_qca_reason_to_str(adapter->last_disconnect_reason),
|
|
|
+ osif_cm_qca_reason_to_str(adapter->last_disconnect_reason),
|
|
|
locally_generated);
|
|
|
cfg80211_disconnected(adapter->dev, ieee80211_reason, disconnect_ies,
|
|
|
disconnect_ies_len, GFP_KERNEL);
|