|
@@ -27,7 +27,43 @@
|
|
#include "osif_cm_rsp.h"
|
|
#include "osif_cm_rsp.h"
|
|
#include "wlan_cfg80211_scan.h"
|
|
#include "wlan_cfg80211_scan.h"
|
|
|
|
|
|
-static struct osif_cm_ops *osif_cm_legacy_ops;
|
|
|
|
|
|
+enum qca_sta_connect_fail_reason_codes
|
|
|
|
+osif_cm_mac_to_qca_connect_fail_reason(enum wlan_status_code internal_reason)
|
|
|
|
+{
|
|
|
|
+ enum qca_sta_connect_fail_reason_codes reason = 0;
|
|
|
|
+
|
|
|
|
+ if (internal_reason < STATUS_PROP_START)
|
|
|
|
+ return reason;
|
|
|
|
+
|
|
|
|
+ switch (internal_reason) {
|
|
|
|
+ case STATUS_NO_NETWORK_FOUND:
|
|
|
|
+ reason = QCA_STA_CONNECT_FAIL_REASON_NO_BSS_FOUND;
|
|
|
|
+ break;
|
|
|
|
+ case STATUS_AUTH_TX_FAIL:
|
|
|
|
+ reason = QCA_STA_CONNECT_FAIL_REASON_AUTH_TX_FAIL;
|
|
|
|
+ break;
|
|
|
|
+ case STATUS_AUTH_NO_ACK_RECEIVED:
|
|
|
|
+ reason = QCA_STA_CONNECT_FAIL_REASON_AUTH_NO_ACK_RECEIVED;
|
|
|
|
+ break;
|
|
|
|
+ case STATUS_AUTH_NO_RESP_RECEIVED:
|
|
|
|
+ reason = QCA_STA_CONNECT_FAIL_REASON_AUTH_NO_RESP_RECEIVED;
|
|
|
|
+ break;
|
|
|
|
+ case STATUS_ASSOC_TX_FAIL:
|
|
|
|
+ reason = QCA_STA_CONNECT_FAIL_REASON_ASSOC_REQ_TX_FAIL;
|
|
|
|
+ break;
|
|
|
|
+ case STATUS_ASSOC_NO_ACK_RECEIVED:
|
|
|
|
+ reason = QCA_STA_CONNECT_FAIL_REASON_ASSOC_NO_ACK_RECEIVED;
|
|
|
|
+ break;
|
|
|
|
+ case STATUS_ASSOC_NO_RESP_RECEIVED:
|
|
|
|
+ reason = QCA_STA_CONNECT_FAIL_REASON_ASSOC_NO_RESP_RECEIVED;
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ osif_debug("QCA code not present for internal status code %d",
|
|
|
|
+ internal_reason);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return reason;
|
|
|
|
+}
|
|
|
|
|
|
const char *
|
|
const char *
|
|
osif_cm_qca_reason_to_str(enum qca_disconnect_reason_codes reason)
|
|
osif_cm_qca_reason_to_str(enum qca_disconnect_reason_codes reason)
|
|
@@ -67,9 +103,10 @@ osif_cm_mac_to_qca_reason(enum wlan_reason_code internal_reason)
|
|
|
|
|
|
switch (internal_reason) {
|
|
switch (internal_reason) {
|
|
case REASON_HOST_TRIGGERED_ROAM_FAILURE:
|
|
case REASON_HOST_TRIGGERED_ROAM_FAILURE:
|
|
|
|
+ case REASON_FW_TRIGGERED_ROAM_FAILURE:
|
|
reason = QCA_DISCONNECT_REASON_INTERNAL_ROAM_FAILURE;
|
|
reason = QCA_DISCONNECT_REASON_INTERNAL_ROAM_FAILURE;
|
|
break;
|
|
break;
|
|
- case REASON_FW_TRIGGERED_ROAM_FAILURE:
|
|
|
|
|
|
+ case REASON_USER_TRIGGERED_ROAM_FAILURE:
|
|
reason = QCA_DISCONNECT_REASON_EXTERNAL_ROAM_FAILURE;
|
|
reason = QCA_DISCONNECT_REASON_EXTERNAL_ROAM_FAILURE;
|
|
break;
|
|
break;
|
|
case REASON_GATEWAY_REACHABILITY_FAILURE:
|
|
case REASON_GATEWAY_REACHABILITY_FAILURE:
|
|
@@ -114,9 +151,6 @@ osif_cm_mac_to_qca_reason(enum wlan_reason_code internal_reason)
|
|
case REASON_BEACON_MISSED:
|
|
case REASON_BEACON_MISSED:
|
|
reason = QCA_DISCONNECT_REASON_BEACON_MISS_FAILURE;
|
|
reason = QCA_DISCONNECT_REASON_BEACON_MISS_FAILURE;
|
|
break;
|
|
break;
|
|
- case REASON_USER_TRIGGERED_ROAM_FAILURE:
|
|
|
|
- reason = QCA_DISCONNECT_REASON_USER_TRIGGERED;
|
|
|
|
- break;
|
|
|
|
default:
|
|
default:
|
|
osif_debug("No QCA reason code for mac reason: %u",
|
|
osif_debug("No QCA reason code for mac reason: %u",
|
|
internal_reason);
|
|
internal_reason);
|
|
@@ -126,6 +160,9 @@ osif_cm_mac_to_qca_reason(enum wlan_reason_code internal_reason)
|
|
return reason;
|
|
return reason;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+#ifdef FEATURE_CM_ENABLE
|
|
|
|
+static struct osif_cm_ops *osif_cm_legacy_ops;
|
|
|
|
+
|
|
void osif_cm_reset_id_and_src_no_lock(struct vdev_osif_priv *osif_priv)
|
|
void osif_cm_reset_id_and_src_no_lock(struct vdev_osif_priv *osif_priv)
|
|
{
|
|
{
|
|
osif_priv->cm_info.last_id = CM_ID_INVALID;
|
|
osif_priv->cm_info.last_id = CM_ID_INVALID;
|
|
@@ -401,4 +438,4 @@ void osif_cm_reset_legacy_cb(void)
|
|
{
|
|
{
|
|
osif_cm_legacy_ops = NULL;
|
|
osif_cm_legacy_ops = NULL;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+#endif
|