qcacmn: Add proprietary status codes for disconnection
Host adds internal status code in enum wlan_status_code. Change-Id: I17cdcee9f0df1e34cc13425a4f06985a418d5a8a CRs-Fixed: 2799197
This commit is contained in:

committed by
snandini

parent
c5798d9910
commit
58c169c64c
@@ -31,7 +31,19 @@
|
|||||||
#include <cdp_txrx_mob_def.h>
|
#include <cdp_txrx_mob_def.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FEATURE_CM_ENABLE
|
/**
|
||||||
|
* osif_cm_mac_to_qca_connect_fail_reason() - Convert to qca internal connect
|
||||||
|
* fail reason
|
||||||
|
* @internal_reason: Mac reason code of type @wlan_status_code
|
||||||
|
*
|
||||||
|
* Check if it is internal status code and convert it to the
|
||||||
|
* enum qca_sta_connect_fail_reason_codes.
|
||||||
|
*
|
||||||
|
* Return: Reason code of type enum qca_sta_connect_fail_reason_codes
|
||||||
|
*/
|
||||||
|
enum qca_sta_connect_fail_reason_codes
|
||||||
|
osif_cm_mac_to_qca_connect_fail_reason(enum wlan_status_code internal_reason);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* osif_cm_qca_reason_to_str() - return string conversion of qca reason code
|
* osif_cm_qca_reason_to_str() - return string conversion of qca reason code
|
||||||
* @reason: enum qca_disconnect_reason_codes
|
* @reason: enum qca_disconnect_reason_codes
|
||||||
@@ -56,6 +68,7 @@ osif_cm_qca_reason_to_str(enum qca_disconnect_reason_codes reason);
|
|||||||
enum qca_disconnect_reason_codes
|
enum qca_disconnect_reason_codes
|
||||||
osif_cm_mac_to_qca_reason(enum wlan_reason_code internal_reason);
|
osif_cm_mac_to_qca_reason(enum wlan_reason_code internal_reason);
|
||||||
|
|
||||||
|
#ifdef FEATURE_CM_ENABLE
|
||||||
/**
|
/**
|
||||||
* osif_cm_register_cb() - API to register connection manager
|
* osif_cm_register_cb() - API to register connection manager
|
||||||
* callbacks.
|
* callbacks.
|
||||||
|
@@ -24,6 +24,7 @@
|
|||||||
#ifndef __OSIF_CM_RSP_H
|
#ifndef __OSIF_CM_RSP_H
|
||||||
#define __OSIF_CM_RSP_H
|
#define __OSIF_CM_RSP_H
|
||||||
|
|
||||||
|
#ifdef FEATURE_CM_ENABLE
|
||||||
#include "wlan_objmgr_vdev_obj.h"
|
#include "wlan_objmgr_vdev_obj.h"
|
||||||
#include "wlan_cm_public_struct.h"
|
#include "wlan_cm_public_struct.h"
|
||||||
|
|
||||||
@@ -71,4 +72,5 @@ QDF_STATUS osif_connect_handler(struct wlan_objmgr_vdev *vdev,
|
|||||||
QDF_STATUS osif_failed_candidate_handler(struct wlan_objmgr_vdev *vdev,
|
QDF_STATUS osif_failed_candidate_handler(struct wlan_objmgr_vdev *vdev,
|
||||||
struct wlan_cm_connect_rsp *rsp);
|
struct wlan_cm_connect_rsp *rsp);
|
||||||
|
|
||||||
|
#endif /* FEATURE_CM_ENABLE */
|
||||||
#endif /* __OSIF_CM_RSP_H */
|
#endif /* __OSIF_CM_RSP_H */
|
||||||
|
@@ -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
|
||||||
|
@@ -746,6 +746,19 @@ enum wlan_reason_code {
|
|||||||
* listen interval is too large.
|
* listen interval is too large.
|
||||||
* @STATUS_INVALID_FT_ACTION_FRAME_COUNT: Invalid FT Action frame count.
|
* @STATUS_INVALID_FT_ACTION_FRAME_COUNT: Invalid FT Action frame count.
|
||||||
* @STATUS_INVALID_PMKID: Invalid pairwise master key identifier (PMKID).
|
* @STATUS_INVALID_PMKID: Invalid pairwise master key identifier (PMKID).
|
||||||
|
*
|
||||||
|
* Internal status codes: Add any internal status code just after
|
||||||
|
* STATUS_PROP_START and decrease the value of STATUS_PROP_START
|
||||||
|
* accordingly.
|
||||||
|
*
|
||||||
|
* @STATUS_PROP_START: Start of prop status codes.
|
||||||
|
* @STATUS_NO_NETWORK_FOUND: No network found
|
||||||
|
* @STATUS_AUTH_TX_FAIL: Failed to sent AUTH on air
|
||||||
|
* @STATUS_AUTH_NO_ACK_RECEIVED: No ack received for Auth tx
|
||||||
|
* @STATUS_AUTH_NO_RESP_RECEIVED: No Auth response for Auth tx
|
||||||
|
* @STATUS_ASSOC_TX_FAIL: Failed to sent Assoc on air
|
||||||
|
* @STATUS_ASSOC_NO_ACK_RECEIVED: No ack received for Assoc tx
|
||||||
|
* @STATUS_ASSOC_NO_RESP_RECEIVED: No Assoc response for Assoc tx
|
||||||
*/
|
*/
|
||||||
enum wlan_status_code {
|
enum wlan_status_code {
|
||||||
STATUS_SUCCESS = 0,
|
STATUS_SUCCESS = 0,
|
||||||
@@ -794,6 +807,16 @@ enum wlan_status_code {
|
|||||||
STATUS_ASSOC_DENIED_LISTEN_INT_TOO_LARGE = 51,
|
STATUS_ASSOC_DENIED_LISTEN_INT_TOO_LARGE = 51,
|
||||||
STATUS_INVALID_FT_ACTION_FRAME_COUNT = 52,
|
STATUS_INVALID_FT_ACTION_FRAME_COUNT = 52,
|
||||||
STATUS_INVALID_PMKID = 53,
|
STATUS_INVALID_PMKID = 53,
|
||||||
|
|
||||||
|
/* Error STATUS code for intenal usage*/
|
||||||
|
STATUS_PROP_START = 65528,
|
||||||
|
STATUS_NO_NETWORK_FOUND = 65528,
|
||||||
|
STATUS_AUTH_TX_FAIL = 65529,
|
||||||
|
STATUS_AUTH_NO_ACK_RECEIVED = 65530,
|
||||||
|
STATUS_AUTH_NO_RESP_RECEIVED = 65531,
|
||||||
|
STATUS_ASSOC_TX_FAIL = 65532,
|
||||||
|
STATUS_ASSOC_NO_ACK_RECEIVED = 65533,
|
||||||
|
STATUS_ASSOC_NO_RESP_RECEIVED = 65534,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define WLAN_OUI_SIZE 4
|
#define WLAN_OUI_SIZE 4
|
||||||
|
Reference in New Issue
Block a user