* [PATCH 01/17] mwifiex: verbose logging for association failure messages [not found] <1432817889-26250-1-git-send-email-patila@marvell.com> @ 2015-05-28 12:57 ` Avinash Patil 2015-05-28 18:27 ` Joe Perches 2015-05-28 12:57 ` [PATCH 02/17] mwifiex: correct bss_type assignment Avinash Patil 1 sibling, 1 reply; 8+ messages in thread From: Avinash Patil @ 2015-05-28 12:57 UTC (permalink / raw) To: linux-wireless; +Cc: akarwar, cluo, huxm, Avinash Patil This patch adds more logging support for association failure - reason and states. Signed-off-by: Avinash Patil <patila@marvell.com> --- drivers/net/wireless/mwifiex/fw.h | 15 +++++++++++++-- drivers/net/wireless/mwifiex/join.c | 30 +++++++++++++++++++++++++++--- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/mwifiex/fw.h b/drivers/net/wireless/mwifiex/fw.h index c404390..6a062dd 100644 --- a/drivers/net/wireless/mwifiex/fw.h +++ b/drivers/net/wireless/mwifiex/fw.h @@ -419,8 +419,12 @@ enum P2P_MODES { #define HS_CFG_COND_MAC_EVENT 0x00000004 #define HS_CFG_COND_MULTICAST_DATA 0x00000008 -#define MWIFIEX_TIMEOUT_FOR_AP_RESP 0xfffc -#define MWIFIEX_STATUS_CODE_AUTH_TIMEOUT 2 +#define ASSOC_ERR_AUTH_ERR_STA_FAILURE 0xFFFB +#define ASSOC_ERR_ASSOC_ERR_TIMEOUT 0xFFFC +#define ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED 0xFFFD +#define ASSOC_ERR_AUTH_MSG_UNHANDLED 0xFFFE +#define ASSOC_ERR_STA_FAILURE 0xFFFF + #define CMD_F_HOSTCMD (1 << 0) #define CMD_F_CANCELED (1 << 1) @@ -1151,6 +1155,13 @@ enum SNMP_MIB_INDEX { DOT11H_I = 10, }; +enum mwifiex_assocmd_failurepoint { + MWIFIEX_ASSOC_CMD_SUCCESS = 0, + MWIFIEX_ASSOC_CMD_FAILURE_ASSOC, + MWIFIEX_ASSOC_CMD_FAILURE_AUTH, + MWIFIEX_ASSOC_CMD_FAILURE_JOIN +}; + #define MAX_SNMP_BUF_SIZE 128 struct host_cmd_ds_802_11_snmp_mib { diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c index 6208ef1..69a44bb 100644 --- a/drivers/net/wireless/mwifiex/join.c +++ b/drivers/net/wireless/mwifiex/join.c @@ -556,6 +556,23 @@ int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv, return 0; } +static const char *assoc_failure_reason_to_str(u16 cap_info) +{ + switch (cap_info) { + case ASSOC_ERR_AUTH_ERR_STA_FAILURE: + return "ASSOC_ERR_AUTH_ERR_STA_FAILURE"; + case ASSOC_ERR_AUTH_MSG_UNHANDLED: + return "ASSOC_ERR_AUTH_MSG_UNHANDLED"; + case ASSOC_ERR_ASSOC_ERR_TIMEOUT: + return "ASSOC_ERR_ASSOC_ERR_TIMEOUT"; + case ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED: + return "ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED"; + case ASSOC_ERR_STA_FAILURE: + return "ASSOC_ERR_STA_FAILURE"; + } + + return "Unknown failure"; +} /* * Association firmware command response handler * @@ -656,11 +673,18 @@ int mwifiex_ret_802_11_associate(struct mwifiex_private *priv, status_code, cap_info, le16_to_cpu(assoc_rsp->a_id)); - if (cap_info == MWIFIEX_TIMEOUT_FOR_AP_RESP) { - if (status_code == MWIFIEX_STATUS_CODE_AUTH_TIMEOUT) + mwifiex_dbg(priv->adapter, ERROR, "assoc failure: reason %s\n", + assoc_failure_reason_to_str(cap_info)); + if (cap_info == ASSOC_ERR_ASSOC_ERR_TIMEOUT) { + if (status_code == MWIFIEX_ASSOC_CMD_FAILURE_AUTH) { ret = WLAN_STATUS_AUTH_TIMEOUT; - else + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: AUTH timeout\n"); + } else { ret = WLAN_STATUS_UNSPECIFIED_FAILURE; + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: UNSPECIFIED failure\n"); + } } else { ret = status_code; } -- 1.8.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 01/17] mwifiex: verbose logging for association failure messages 2015-05-28 12:57 ` [PATCH 01/17] mwifiex: verbose logging for association failure messages Avinash Patil @ 2015-05-28 18:27 ` Joe Perches 2015-05-29 9:27 ` Avinash Patil 0 siblings, 1 reply; 8+ messages in thread From: Joe Perches @ 2015-05-28 18:27 UTC (permalink / raw) To: Avinash Patil; +Cc: linux-wireless, akarwar, cluo, huxm On Thu, 2015-05-28 at 18:27 +0530, Avinash Patil wrote: > This patch adds more logging support for association failure - > reason and states. [] > diff --git a/drivers/net/wireless/mwifiex/fw.h b/drivers/net/wireless/mwifiex/fw.h [] > @@ -419,8 +419,12 @@ enum P2P_MODES { > #define HS_CFG_COND_MAC_EVENT 0x00000004 > #define HS_CFG_COND_MULTICAST_DATA 0x00000008 > > -#define MWIFIEX_TIMEOUT_FOR_AP_RESP 0xfffc > -#define MWIFIEX_STATUS_CODE_AUTH_TIMEOUT 2 > +#define ASSOC_ERR_AUTH_ERR_STA_FAILURE 0xFFFB > +#define ASSOC_ERR_ASSOC_ERR_TIMEOUT 0xFFFC > +#define ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED 0xFFFD Is there really value in duplicating ASSOC_ERR_ ASSOC_ERR_ASSOC_ERR_<foo> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 01/17] mwifiex: verbose logging for association failure messages 2015-05-28 18:27 ` Joe Perches @ 2015-05-29 9:27 ` Avinash Patil 0 siblings, 0 replies; 8+ messages in thread From: Avinash Patil @ 2015-05-29 9:27 UTC (permalink / raw) To: Joe Perches Cc: linux-wireless@vger.kernel.org, Amitkumar Karwar, Cathy Luo, Xinming Hu T24gVGh1LCAyMDE1LTA1LTI4IGF0IDExOjI3IC0wNzAwLCBKb2UgUGVyY2hlcyB3cm90ZToNCj4g T24gVGh1LCAyMDE1LTA1LTI4IGF0IDE4OjI3ICswNTMwLCBBdmluYXNoIFBhdGlsIHdyb3RlOg0K PiA+IFRoaXMgcGF0Y2ggYWRkcyBtb3JlIGxvZ2dpbmcgc3VwcG9ydCBmb3IgYXNzb2NpYXRpb24g ZmFpbHVyZSAtDQo+ID4gcmVhc29uIGFuZCBzdGF0ZXMuDQo+IFtdDQo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvZncuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNz L213aWZpZXgvZncuaA0KPiBbXQ0KPiA+IEBAIC00MTksOCArNDE5LDEyIEBAIGVudW0gUDJQX01P REVTIHsNCj4gPiAgI2RlZmluZSBIU19DRkdfQ09ORF9NQUNfRVZFTlQJCTB4MDAwMDAwMDQNCj4g PiAgI2RlZmluZSBIU19DRkdfQ09ORF9NVUxUSUNBU1RfREFUQQkweDAwMDAwMDA4DQo+ID4gIA0K PiA+IC0jZGVmaW5lIE1XSUZJRVhfVElNRU9VVF9GT1JfQVBfUkVTUAkJMHhmZmZjDQo+ID4gLSNk ZWZpbmUgTVdJRklFWF9TVEFUVVNfQ09ERV9BVVRIX1RJTUVPVVQJMg0KPiA+ICsjZGVmaW5lIEFT U09DX0VSUl9BVVRIX0VSUl9TVEFfRkFJTFVSRQkJMHhGRkZCDQo+ID4gKyNkZWZpbmUgQVNTT0Nf RVJSX0FTU09DX0VSUl9USU1FT1VUCQkweEZGRkMNCj4gPiArI2RlZmluZSBBU1NPQ19FUlJfQVNT T0NfRVJSX0FVVEhfUkVGVVNFRAkweEZGRkQNCj4gDQo+IElzIHRoZXJlIHJlYWxseSB2YWx1ZSBp biBkdXBsaWNhdGluZyBBU1NPQ19FUlJfDQo+IAlBU1NPQ19FUlJfQVNTT0NfRVJSXzxmb28+DQo+ IA0KPiANCkhtbS4uVHJ1ZS4NCkFjdHVhbGx5IGZpcnN0IHBhcnQgb2YgbWVzc2FnZSBpcyBmb3Ig Y29ubmVjdGlvbiBmYWlsdXJlLg0KSSB0aGluayBiZXR0ZXIgZm9ybWF0IHdvdWxkIGJlIENPTk5F Q1RfRVJSX3tBVVRIL0FTU09DfV9FUlIuDQpJIHdpbGwgbW9kaWZ5IHBhdGNoIGFjY29yZGluZ2x5 IGFuZCByZXNlbmQgdjMuDQoNCi1BdmluYXNoDQoNCg0K ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 02/17] mwifiex: correct bss_type assignment [not found] <1432817889-26250-1-git-send-email-patila@marvell.com> 2015-05-28 12:57 ` [PATCH 01/17] mwifiex: verbose logging for association failure messages Avinash Patil @ 2015-05-28 12:57 ` Avinash Patil 1 sibling, 0 replies; 8+ messages in thread From: Avinash Patil @ 2015-05-28 12:57 UTC (permalink / raw) To: linux-wireless; +Cc: akarwar, cluo, huxm, Avinash Patil Correct bss_type assignment in add_virtual_interface. This would ensure correct operation in multiple station scenarios. Signed-off-by: Avinash Patil <patila@marvell.com> --- drivers/net/wireless/mwifiex/cfg80211.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/mwifiex/cfg80211.c b/drivers/net/wireless/mwifiex/cfg80211.c index 4eeceda..3a14d3a 100644 --- a/drivers/net/wireless/mwifiex/cfg80211.c +++ b/drivers/net/wireless/mwifiex/cfg80211.c @@ -2518,7 +2518,7 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct wiphy *wiphy, priv->frame_type = MWIFIEX_DATA_FRAME_TYPE_ETH_II; priv->bss_priority = 0; priv->bss_role = MWIFIEX_BSS_ROLE_STA; - priv->bss_num = 0; + priv->bss_num = adapter->curr_iface_comb.sta_intf; break; case NL80211_IFTYPE_AP: @@ -2544,7 +2544,7 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct wiphy *wiphy, priv->bss_priority = 0; priv->bss_role = MWIFIEX_BSS_ROLE_UAP; priv->bss_started = 0; - priv->bss_num = 0; + priv->bss_num = adapter->curr_iface_comb.uap_intf; priv->bss_mode = type; break; @@ -2580,7 +2580,7 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct wiphy *wiphy, priv->bss_priority = MWIFIEX_BSS_ROLE_STA; priv->bss_role = MWIFIEX_BSS_ROLE_STA; priv->bss_started = 0; - priv->bss_num = 0; + priv->bss_num = adapter->curr_iface_comb.p2p_intf; if (mwifiex_cfg80211_init_p2p_client(priv)) { memset(&priv->wdev, 0, sizeof(priv->wdev)); -- 1.8.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 00/17] mwifiex patches @ 2015-05-28 18:28 Avinash Patil 2015-05-28 18:28 ` [PATCH 01/17] mwifiex: verbose logging for association failure messages Avinash Patil 0 siblings, 1 reply; 8+ messages in thread From: Avinash Patil @ 2015-05-28 18:28 UTC (permalink / raw) To: linux-wireless; +Cc: akarwar, cluo, huxm, Avinash Patil This patch series mainly adds enhancements for mwifiex AP. With this series, we support verbose information in station dump command also inforamation about AP link. Another important enhancement is related to parsing IEs from Tail of beacon_data. Few issues seen during DFS testing are also fixed in this series. Patch series also includes some other misc patches. Avinash Patil (11): mwifiex: verbose logging for association failure messages mwifiex: correct bss_type assignment mwifiex: support AP reset after bss_stop mwifiex: enable 11d after bss reset mwifiex: reset 11h active flag when chandef does not require dfs mwifiex: disable CAC upon radar detection event mwifiex: parse power constraint IE from Tail mwifiex: support downloading IEs from tail mwifiex: drop block-ack action frames mwifiex: advertise PS ON by default support to cfg80211 mwifiex: update AP WMM settings from BSS_START event Xinming Hu (6): mwifiex: add cfg80211 get_channel handler mwifiex: maintain station statistic in uap mode mwifiex: add sta_list firmware command mwifiex: dump station support in uap mode mwifiex: using right tid for addressing ra_list mwifiex: do not decrease tx_pending for AMSDU packet once more drivers/net/wireless/mwifiex/11h.c | 32 +++++-- drivers/net/wireless/mwifiex/11n.c | 11 ++- drivers/net/wireless/mwifiex/11n_rxreorder.c | 5 +- drivers/net/wireless/mwifiex/cfg80211.c | 130 ++++++++++++++++++++++++--- drivers/net/wireless/mwifiex/cmdevt.c | 2 + drivers/net/wireless/mwifiex/fw.h | 43 ++++++++- drivers/net/wireless/mwifiex/ie.c | 102 ++++++++++++--------- drivers/net/wireless/mwifiex/ioctl.h | 1 + drivers/net/wireless/mwifiex/join.c | 30 ++++++- drivers/net/wireless/mwifiex/main.h | 23 ++++- drivers/net/wireless/mwifiex/sta_cmdresp.c | 26 ++++++ drivers/net/wireless/mwifiex/txrx.c | 21 +++-- drivers/net/wireless/mwifiex/uap_cmd.c | 55 +++++++++++- drivers/net/wireless/mwifiex/uap_event.c | 63 +++++++++++++ drivers/net/wireless/mwifiex/uap_txrx.c | 18 +++- drivers/net/wireless/mwifiex/util.c | 56 +++++++++--- 16 files changed, 525 insertions(+), 93 deletions(-) -- 1.8.1.4 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 01/17] mwifiex: verbose logging for association failure messages 2015-05-28 18:28 [PATCH 00/17] mwifiex patches Avinash Patil @ 2015-05-28 18:28 ` Avinash Patil 0 siblings, 0 replies; 8+ messages in thread From: Avinash Patil @ 2015-05-28 18:28 UTC (permalink / raw) To: linux-wireless; +Cc: akarwar, cluo, huxm, Avinash Patil This patch adds more logging support for association failure - reason and states. Signed-off-by: Avinash Patil <patila@marvell.com> --- drivers/net/wireless/mwifiex/fw.h | 15 +++++++++++++-- drivers/net/wireless/mwifiex/join.c | 30 +++++++++++++++++++++++++++--- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/mwifiex/fw.h b/drivers/net/wireless/mwifiex/fw.h index c404390..6a062dd 100644 --- a/drivers/net/wireless/mwifiex/fw.h +++ b/drivers/net/wireless/mwifiex/fw.h @@ -419,8 +419,12 @@ enum P2P_MODES { #define HS_CFG_COND_MAC_EVENT 0x00000004 #define HS_CFG_COND_MULTICAST_DATA 0x00000008 -#define MWIFIEX_TIMEOUT_FOR_AP_RESP 0xfffc -#define MWIFIEX_STATUS_CODE_AUTH_TIMEOUT 2 +#define ASSOC_ERR_AUTH_ERR_STA_FAILURE 0xFFFB +#define ASSOC_ERR_ASSOC_ERR_TIMEOUT 0xFFFC +#define ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED 0xFFFD +#define ASSOC_ERR_AUTH_MSG_UNHANDLED 0xFFFE +#define ASSOC_ERR_STA_FAILURE 0xFFFF + #define CMD_F_HOSTCMD (1 << 0) #define CMD_F_CANCELED (1 << 1) @@ -1151,6 +1155,13 @@ enum SNMP_MIB_INDEX { DOT11H_I = 10, }; +enum mwifiex_assocmd_failurepoint { + MWIFIEX_ASSOC_CMD_SUCCESS = 0, + MWIFIEX_ASSOC_CMD_FAILURE_ASSOC, + MWIFIEX_ASSOC_CMD_FAILURE_AUTH, + MWIFIEX_ASSOC_CMD_FAILURE_JOIN +}; + #define MAX_SNMP_BUF_SIZE 128 struct host_cmd_ds_802_11_snmp_mib { diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c index 6208ef1..69a44bb 100644 --- a/drivers/net/wireless/mwifiex/join.c +++ b/drivers/net/wireless/mwifiex/join.c @@ -556,6 +556,23 @@ int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv, return 0; } +static const char *assoc_failure_reason_to_str(u16 cap_info) +{ + switch (cap_info) { + case ASSOC_ERR_AUTH_ERR_STA_FAILURE: + return "ASSOC_ERR_AUTH_ERR_STA_FAILURE"; + case ASSOC_ERR_AUTH_MSG_UNHANDLED: + return "ASSOC_ERR_AUTH_MSG_UNHANDLED"; + case ASSOC_ERR_ASSOC_ERR_TIMEOUT: + return "ASSOC_ERR_ASSOC_ERR_TIMEOUT"; + case ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED: + return "ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED"; + case ASSOC_ERR_STA_FAILURE: + return "ASSOC_ERR_STA_FAILURE"; + } + + return "Unknown failure"; +} /* * Association firmware command response handler * @@ -656,11 +673,18 @@ int mwifiex_ret_802_11_associate(struct mwifiex_private *priv, status_code, cap_info, le16_to_cpu(assoc_rsp->a_id)); - if (cap_info == MWIFIEX_TIMEOUT_FOR_AP_RESP) { - if (status_code == MWIFIEX_STATUS_CODE_AUTH_TIMEOUT) + mwifiex_dbg(priv->adapter, ERROR, "assoc failure: reason %s\n", + assoc_failure_reason_to_str(cap_info)); + if (cap_info == ASSOC_ERR_ASSOC_ERR_TIMEOUT) { + if (status_code == MWIFIEX_ASSOC_CMD_FAILURE_AUTH) { ret = WLAN_STATUS_AUTH_TIMEOUT; - else + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: AUTH timeout\n"); + } else { ret = WLAN_STATUS_UNSPECIFIED_FAILURE; + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: UNSPECIFIED failure\n"); + } } else { ret = status_code; } -- 1.8.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <1432817766-26090-1-git-send-email-patila@marvell.com>]
* [PATCH 01/17] mwifiex: verbose logging for association failure messages [not found] <1432817766-26090-1-git-send-email-patila@marvell.com> @ 2015-05-28 12:55 ` Avinash Patil 0 siblings, 0 replies; 8+ messages in thread From: Avinash Patil @ 2015-05-28 12:55 UTC (permalink / raw) To: linux-wireless; +Cc: akarwar, cluo, huxm, Avinash Patil This patch adds more logging support for association failure - reason and states. Signed-off-by: Avinash Patil <patila@marvell.com> --- drivers/net/wireless/mwifiex/fw.h | 15 +++++++++++++-- drivers/net/wireless/mwifiex/join.c | 30 +++++++++++++++++++++++++++--- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/mwifiex/fw.h b/drivers/net/wireless/mwifiex/fw.h index c404390..6a062dd 100644 --- a/drivers/net/wireless/mwifiex/fw.h +++ b/drivers/net/wireless/mwifiex/fw.h @@ -419,8 +419,12 @@ enum P2P_MODES { #define HS_CFG_COND_MAC_EVENT 0x00000004 #define HS_CFG_COND_MULTICAST_DATA 0x00000008 -#define MWIFIEX_TIMEOUT_FOR_AP_RESP 0xfffc -#define MWIFIEX_STATUS_CODE_AUTH_TIMEOUT 2 +#define ASSOC_ERR_AUTH_ERR_STA_FAILURE 0xFFFB +#define ASSOC_ERR_ASSOC_ERR_TIMEOUT 0xFFFC +#define ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED 0xFFFD +#define ASSOC_ERR_AUTH_MSG_UNHANDLED 0xFFFE +#define ASSOC_ERR_STA_FAILURE 0xFFFF + #define CMD_F_HOSTCMD (1 << 0) #define CMD_F_CANCELED (1 << 1) @@ -1151,6 +1155,13 @@ enum SNMP_MIB_INDEX { DOT11H_I = 10, }; +enum mwifiex_assocmd_failurepoint { + MWIFIEX_ASSOC_CMD_SUCCESS = 0, + MWIFIEX_ASSOC_CMD_FAILURE_ASSOC, + MWIFIEX_ASSOC_CMD_FAILURE_AUTH, + MWIFIEX_ASSOC_CMD_FAILURE_JOIN +}; + #define MAX_SNMP_BUF_SIZE 128 struct host_cmd_ds_802_11_snmp_mib { diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c index 6208ef1..69a44bb 100644 --- a/drivers/net/wireless/mwifiex/join.c +++ b/drivers/net/wireless/mwifiex/join.c @@ -556,6 +556,23 @@ int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv, return 0; } +static const char *assoc_failure_reason_to_str(u16 cap_info) +{ + switch (cap_info) { + case ASSOC_ERR_AUTH_ERR_STA_FAILURE: + return "ASSOC_ERR_AUTH_ERR_STA_FAILURE"; + case ASSOC_ERR_AUTH_MSG_UNHANDLED: + return "ASSOC_ERR_AUTH_MSG_UNHANDLED"; + case ASSOC_ERR_ASSOC_ERR_TIMEOUT: + return "ASSOC_ERR_ASSOC_ERR_TIMEOUT"; + case ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED: + return "ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED"; + case ASSOC_ERR_STA_FAILURE: + return "ASSOC_ERR_STA_FAILURE"; + } + + return "Unknown failure"; +} /* * Association firmware command response handler * @@ -656,11 +673,18 @@ int mwifiex_ret_802_11_associate(struct mwifiex_private *priv, status_code, cap_info, le16_to_cpu(assoc_rsp->a_id)); - if (cap_info == MWIFIEX_TIMEOUT_FOR_AP_RESP) { - if (status_code == MWIFIEX_STATUS_CODE_AUTH_TIMEOUT) + mwifiex_dbg(priv->adapter, ERROR, "assoc failure: reason %s\n", + assoc_failure_reason_to_str(cap_info)); + if (cap_info == ASSOC_ERR_ASSOC_ERR_TIMEOUT) { + if (status_code == MWIFIEX_ASSOC_CMD_FAILURE_AUTH) { ret = WLAN_STATUS_AUTH_TIMEOUT; - else + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: AUTH timeout\n"); + } else { ret = WLAN_STATUS_UNSPECIFIED_FAILURE; + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: UNSPECIFIED failure\n"); + } } else { ret = status_code; } -- 1.8.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <1432817552-25866-1-git-send-email-patila@marvell.com>]
* [PATCH 01/17] mwifiex: verbose logging for association failure messages [not found] <1432817552-25866-1-git-send-email-patila@marvell.com> @ 2015-05-28 12:52 ` Avinash Patil 0 siblings, 0 replies; 8+ messages in thread From: Avinash Patil @ 2015-05-28 12:52 UTC (permalink / raw) To: linux-wireless; +Cc: akarwar, cluo, huxm, Avinash Patil This patch adds more logging support for association failure - reason and states. Signed-off-by: Avinash Patil <patila@marvell.com> --- drivers/net/wireless/mwifiex/fw.h | 15 +++++++++++++-- drivers/net/wireless/mwifiex/join.c | 30 +++++++++++++++++++++++++++--- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/mwifiex/fw.h b/drivers/net/wireless/mwifiex/fw.h index c404390..6a062dd 100644 --- a/drivers/net/wireless/mwifiex/fw.h +++ b/drivers/net/wireless/mwifiex/fw.h @@ -419,8 +419,12 @@ enum P2P_MODES { #define HS_CFG_COND_MAC_EVENT 0x00000004 #define HS_CFG_COND_MULTICAST_DATA 0x00000008 -#define MWIFIEX_TIMEOUT_FOR_AP_RESP 0xfffc -#define MWIFIEX_STATUS_CODE_AUTH_TIMEOUT 2 +#define ASSOC_ERR_AUTH_ERR_STA_FAILURE 0xFFFB +#define ASSOC_ERR_ASSOC_ERR_TIMEOUT 0xFFFC +#define ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED 0xFFFD +#define ASSOC_ERR_AUTH_MSG_UNHANDLED 0xFFFE +#define ASSOC_ERR_STA_FAILURE 0xFFFF + #define CMD_F_HOSTCMD (1 << 0) #define CMD_F_CANCELED (1 << 1) @@ -1151,6 +1155,13 @@ enum SNMP_MIB_INDEX { DOT11H_I = 10, }; +enum mwifiex_assocmd_failurepoint { + MWIFIEX_ASSOC_CMD_SUCCESS = 0, + MWIFIEX_ASSOC_CMD_FAILURE_ASSOC, + MWIFIEX_ASSOC_CMD_FAILURE_AUTH, + MWIFIEX_ASSOC_CMD_FAILURE_JOIN +}; + #define MAX_SNMP_BUF_SIZE 128 struct host_cmd_ds_802_11_snmp_mib { diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c index 6208ef1..69a44bb 100644 --- a/drivers/net/wireless/mwifiex/join.c +++ b/drivers/net/wireless/mwifiex/join.c @@ -556,6 +556,23 @@ int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv, return 0; } +static const char *assoc_failure_reason_to_str(u16 cap_info) +{ + switch (cap_info) { + case ASSOC_ERR_AUTH_ERR_STA_FAILURE: + return "ASSOC_ERR_AUTH_ERR_STA_FAILURE"; + case ASSOC_ERR_AUTH_MSG_UNHANDLED: + return "ASSOC_ERR_AUTH_MSG_UNHANDLED"; + case ASSOC_ERR_ASSOC_ERR_TIMEOUT: + return "ASSOC_ERR_ASSOC_ERR_TIMEOUT"; + case ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED: + return "ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED"; + case ASSOC_ERR_STA_FAILURE: + return "ASSOC_ERR_STA_FAILURE"; + } + + return "Unknown failure"; +} /* * Association firmware command response handler * @@ -656,11 +673,18 @@ int mwifiex_ret_802_11_associate(struct mwifiex_private *priv, status_code, cap_info, le16_to_cpu(assoc_rsp->a_id)); - if (cap_info == MWIFIEX_TIMEOUT_FOR_AP_RESP) { - if (status_code == MWIFIEX_STATUS_CODE_AUTH_TIMEOUT) + mwifiex_dbg(priv->adapter, ERROR, "assoc failure: reason %s\n", + assoc_failure_reason_to_str(cap_info)); + if (cap_info == ASSOC_ERR_ASSOC_ERR_TIMEOUT) { + if (status_code == MWIFIEX_ASSOC_CMD_FAILURE_AUTH) { ret = WLAN_STATUS_AUTH_TIMEOUT; - else + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: AUTH timeout\n"); + } else { ret = WLAN_STATUS_UNSPECIFIED_FAILURE; + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: UNSPECIFIED failure\n"); + } } else { ret = status_code; } -- 1.8.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <1432817450-25619-1-git-send-email-patila@marvell.com>]
* [PATCH 01/17] mwifiex: verbose logging for association failure messages [not found] <1432817450-25619-1-git-send-email-patila@marvell.com> @ 2015-05-28 12:50 ` Avinash Patil 0 siblings, 0 replies; 8+ messages in thread From: Avinash Patil @ 2015-05-28 12:50 UTC (permalink / raw) To: linux-wireless; +Cc: akarwar, cluo, huxm, Avinash Patil This patch adds more logging support for association failure - reason and states. Signed-off-by: Avinash Patil <patila@marvell.com> --- drivers/net/wireless/mwifiex/fw.h | 15 +++++++++++++-- drivers/net/wireless/mwifiex/join.c | 30 +++++++++++++++++++++++++++--- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/mwifiex/fw.h b/drivers/net/wireless/mwifiex/fw.h index c404390..6a062dd 100644 --- a/drivers/net/wireless/mwifiex/fw.h +++ b/drivers/net/wireless/mwifiex/fw.h @@ -419,8 +419,12 @@ enum P2P_MODES { #define HS_CFG_COND_MAC_EVENT 0x00000004 #define HS_CFG_COND_MULTICAST_DATA 0x00000008 -#define MWIFIEX_TIMEOUT_FOR_AP_RESP 0xfffc -#define MWIFIEX_STATUS_CODE_AUTH_TIMEOUT 2 +#define ASSOC_ERR_AUTH_ERR_STA_FAILURE 0xFFFB +#define ASSOC_ERR_ASSOC_ERR_TIMEOUT 0xFFFC +#define ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED 0xFFFD +#define ASSOC_ERR_AUTH_MSG_UNHANDLED 0xFFFE +#define ASSOC_ERR_STA_FAILURE 0xFFFF + #define CMD_F_HOSTCMD (1 << 0) #define CMD_F_CANCELED (1 << 1) @@ -1151,6 +1155,13 @@ enum SNMP_MIB_INDEX { DOT11H_I = 10, }; +enum mwifiex_assocmd_failurepoint { + MWIFIEX_ASSOC_CMD_SUCCESS = 0, + MWIFIEX_ASSOC_CMD_FAILURE_ASSOC, + MWIFIEX_ASSOC_CMD_FAILURE_AUTH, + MWIFIEX_ASSOC_CMD_FAILURE_JOIN +}; + #define MAX_SNMP_BUF_SIZE 128 struct host_cmd_ds_802_11_snmp_mib { diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c index 6208ef1..69a44bb 100644 --- a/drivers/net/wireless/mwifiex/join.c +++ b/drivers/net/wireless/mwifiex/join.c @@ -556,6 +556,23 @@ int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv, return 0; } +static const char *assoc_failure_reason_to_str(u16 cap_info) +{ + switch (cap_info) { + case ASSOC_ERR_AUTH_ERR_STA_FAILURE: + return "ASSOC_ERR_AUTH_ERR_STA_FAILURE"; + case ASSOC_ERR_AUTH_MSG_UNHANDLED: + return "ASSOC_ERR_AUTH_MSG_UNHANDLED"; + case ASSOC_ERR_ASSOC_ERR_TIMEOUT: + return "ASSOC_ERR_ASSOC_ERR_TIMEOUT"; + case ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED: + return "ASSOC_ERR_ASSOC_ERR_AUTH_REFUSED"; + case ASSOC_ERR_STA_FAILURE: + return "ASSOC_ERR_STA_FAILURE"; + } + + return "Unknown failure"; +} /* * Association firmware command response handler * @@ -656,11 +673,18 @@ int mwifiex_ret_802_11_associate(struct mwifiex_private *priv, status_code, cap_info, le16_to_cpu(assoc_rsp->a_id)); - if (cap_info == MWIFIEX_TIMEOUT_FOR_AP_RESP) { - if (status_code == MWIFIEX_STATUS_CODE_AUTH_TIMEOUT) + mwifiex_dbg(priv->adapter, ERROR, "assoc failure: reason %s\n", + assoc_failure_reason_to_str(cap_info)); + if (cap_info == ASSOC_ERR_ASSOC_ERR_TIMEOUT) { + if (status_code == MWIFIEX_ASSOC_CMD_FAILURE_AUTH) { ret = WLAN_STATUS_AUTH_TIMEOUT; - else + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: AUTH timeout\n"); + } else { ret = WLAN_STATUS_UNSPECIFIED_FAILURE; + mwifiex_dbg(priv->adapter, ERROR, + "ASSOC_RESP: UNSPECIFIED failure\n"); + } } else { ret = status_code; } -- 1.8.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-05-29 9:27 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1432817889-26250-1-git-send-email-patila@marvell.com>
2015-05-28 12:57 ` [PATCH 01/17] mwifiex: verbose logging for association failure messages Avinash Patil
2015-05-28 18:27 ` Joe Perches
2015-05-29 9:27 ` Avinash Patil
2015-05-28 12:57 ` [PATCH 02/17] mwifiex: correct bss_type assignment Avinash Patil
2015-05-28 18:28 [PATCH 00/17] mwifiex patches Avinash Patil
2015-05-28 18:28 ` [PATCH 01/17] mwifiex: verbose logging for association failure messages Avinash Patil
[not found] <1432817766-26090-1-git-send-email-patila@marvell.com>
2015-05-28 12:55 ` Avinash Patil
[not found] <1432817552-25866-1-git-send-email-patila@marvell.com>
2015-05-28 12:52 ` Avinash Patil
[not found] <1432817450-25619-1-git-send-email-patila@marvell.com>
2015-05-28 12:50 ` Avinash Patil
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).