diff --git a/core/rtw_ieee80211.c b/core/rtw_ieee80211.c index 43e3197..dad4e6a 100644 --- a/core/rtw_ieee80211.c +++ b/core/rtw_ieee80211.c @@ -51,28 +51,32 @@ u8 RSN_CIPHER_SUITE_WEP104[] = { 0x00, 0x0f, 0xac, 5 }; /* for adhoc-master to generate ie and provide supported-rate to fw */ /* */ -static u8 WIFI_CCKRATES[] = -{(IEEE80211_CCK_RATE_1MB | IEEE80211_BASIC_RATE_MASK), - (IEEE80211_CCK_RATE_2MB | IEEE80211_BASIC_RATE_MASK), - (IEEE80211_CCK_RATE_5MB | IEEE80211_BASIC_RATE_MASK), - (IEEE80211_CCK_RATE_11MB | IEEE80211_BASIC_RATE_MASK)}; +static u8 WIFI_CCKRATES[] = { + (IEEE80211_CCK_RATE_1MB | IEEE80211_BASIC_RATE_MASK), + (IEEE80211_CCK_RATE_2MB | IEEE80211_BASIC_RATE_MASK), + (IEEE80211_CCK_RATE_5MB | IEEE80211_BASIC_RATE_MASK), + (IEEE80211_CCK_RATE_11MB | IEEE80211_BASIC_RATE_MASK) + }; -static u8 WIFI_OFDMRATES[] = -{(IEEE80211_OFDM_RATE_6MB), - (IEEE80211_OFDM_RATE_9MB), - (IEEE80211_OFDM_RATE_12MB), - (IEEE80211_OFDM_RATE_18MB), - (IEEE80211_OFDM_RATE_24MB), - IEEE80211_OFDM_RATE_36MB, - IEEE80211_OFDM_RATE_48MB, - IEEE80211_OFDM_RATE_54MB}; +static u8 WIFI_OFDMRATES[] = { + (IEEE80211_OFDM_RATE_6MB), + (IEEE80211_OFDM_RATE_9MB), + (IEEE80211_OFDM_RATE_12MB), + (IEEE80211_OFDM_RATE_18MB), + (IEEE80211_OFDM_RATE_24MB), + IEEE80211_OFDM_RATE_36MB, + IEEE80211_OFDM_RATE_48MB, + IEEE80211_OFDM_RATE_54MB + }; int rtw_get_bit_value_from_ieee_value(u8 val) { - unsigned char dot11_rate_table[]={2,4,11,22,12,18,24,36,48,72,96,108,0}; /* last element must be zero!! */ + unsigned char dot11_rate_table[] = { + 2, 4, 11, 22, 12, 18, 24, 36, 48, + 72, 96, 108, 0}; /* last element must be zero!! */ - int i=0; + int i = 0; while (dot11_rate_table[i] != 0) { if (dot11_rate_table[i] == val) return BIT(i); @@ -83,49 +87,39 @@ int rtw_get_bit_value_from_ieee_value(u8 val) uint rtw_is_cckrates_included(u8 *rate) { - u32 i = 0; + u32 i = 0; - while (rate[i]!=0) - { - if ( (((rate[i]) & 0x7f) == 2) || (((rate[i]) & 0x7f) == 4) || - (((rate[i]) & 0x7f) == 11) || (((rate[i]) & 0x7f) == 22) ) + while (rate[i] != 0) { + if ((((rate[i]) & 0x7f) == 2) || (((rate[i]) & 0x7f) == 4) || + (((rate[i]) & 0x7f) == 11) || (((rate[i]) & 0x7f) == 22)) return true; - i++; - } - - return false; + i++; + } + return false; } uint rtw_is_cckratesonly_included(u8 *rate) { u32 i = 0; - - while (rate[i]!=0) - { - if ( (((rate[i]) & 0x7f) != 2) && (((rate[i]) & 0x7f) != 4) && - (((rate[i]) & 0x7f) != 11) && (((rate[i]) & 0x7f) != 22) ) - + while (rate[i] != 0) { + if ((((rate[i]) & 0x7f) != 2) && (((rate[i]) & 0x7f) != 4) && + (((rate[i]) & 0x7f) != 11) && (((rate[i]) & 0x7f) != 22)) return false; - - i++; + i++; } return true; - } int rtw_check_network_type(unsigned char *rate, int ratelen, int channel) { - if (channel > 14) - { + if (channel > 14) { if ((rtw_is_cckrates_included(rate)) == true) return WIRELESS_INVALID; else return WIRELESS_11A; - } - else /* could be pure B, pure G, or B/G */ - { + } else { /* could be pure B, pure G, or B/G */ if ((rtw_is_cckratesonly_included(rate)) == true) return WIRELESS_11B; else if ((rtw_is_cckrates_included(rate)) == true) @@ -133,7 +127,6 @@ int rtw_check_network_type(unsigned char *rate, int ratelen, int channel) else return WIRELESS_11G; } - } u8 *rtw_set_fixed_ie(unsigned char *pbuf, unsigned int len, unsigned char *source, @@ -141,7 +134,7 @@ u8 *rtw_set_fixed_ie(unsigned char *pbuf, unsigned int len, unsigned char *sourc { _rtw_memcpy((void *)pbuf, (void *)source, len); *frlen = *frlen + len; - return (pbuf + len); + return pbuf + len; } /* rtw_set_ie will update frame length */ @@ -164,7 +157,7 @@ _func_enter_; *frlen = *frlen + (len + 2); - return (pbuf + len + 2); + return pbuf + len + 2; _func_exit_; } @@ -215,8 +208,8 @@ inline u8 *rtw_set_ie_mesh_ch_switch_parm(u8 *buf, u32 *buf_len, u8 ttl, ie_data[0] = ttl; ie_data[1] = flags; - RTW_PUT_LE16((u8*)&ie_data[2], reason); - RTW_PUT_LE16((u8*)&ie_data[4], precedence); + RTW_PUT_LE16((u8 *)&ie_data[2], reason); + RTW_PUT_LE16((u8 *)&ie_data[4], precedence); return rtw_set_ie(buf, 0x118, 6, ie_data, buf_len); } @@ -226,10 +219,10 @@ index: the information element id index, limit is the limit for search -----------------------------------------------------------------------------*/ u8 *rtw_get_ie(u8 *pbuf, int index, int *len, int limit) { - int tmp,i; + int tmp, i; u8 *p; _func_enter_; - if (limit < 1){ + if (limit < 1) { _func_exit_; return NULL; } @@ -237,15 +230,11 @@ _func_enter_; p = pbuf; i = 0; *len = 0; - while (1) - { - if (*p == index) - { + while (1) { + if (*p == index) { *len = *(p + 1); - return (p); - } - else - { + return p; + } else { tmp = *(p + 1); p += (tmp + 2); i += (tmp + 2); @@ -278,16 +267,13 @@ u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui, u8 oui_len, u8 *ie, u if (ielen) *ielen = 0; - if (!in_ie || in_len<=0) + if (!in_ie || in_len <= 0) return target_ie; cnt = 0; - while (cnt 12) break; - i++; } _func_exit_; @@ -408,8 +383,8 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv) { u8 wireless_mode; int sz = 0, rateLen; - struct wlan_bssid_ex* pdev_network = &pregistrypriv->dev_network; - u8* ie = pdev_network->IEs; + struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network; + u8 *ie = pdev_network->IEs; _func_enter_; @@ -418,20 +393,20 @@ _func_enter_; ie += sz; /* beacon interval : 2bytes */ - *(__le16*)ie = cpu_to_le16((u16)pdev_network->Configuration.BeaconPeriod);/* BCN_INTERVAL; */ + *(__le16 *)ie = cpu_to_le16((u16)pdev_network->Configuration.BeaconPeriod);/* BCN_INTERVAL; */ sz += 2; ie += 2; /* capability info */ - *(u16*)ie = 0; + *(u16 *)ie = 0; - *(__le16*)ie |= cpu_to_le16(cap_IBSS); + *(__le16 *)ie |= cpu_to_le16(cap_IBSS); if (pregistrypriv->preamble == PREAMBLE_SHORT) - *(__le16*)ie |= cpu_to_le16(cap_ShortPremble); + *(__le16 *)ie |= cpu_to_le16(cap_ShortPremble); if (pdev_network->Privacy) - *(__le16*)ie |= cpu_to_le16(cap_Privacy); + *(__le16 *)ie |= cpu_to_le16(cap_Privacy); sz += 2; ie += 2; @@ -440,56 +415,37 @@ _func_enter_; ie = rtw_set_ie(ie, _SSID_IE_, pdev_network->Ssid.SsidLength, pdev_network->Ssid.Ssid, &sz); /* supported rates */ - if (pregistrypriv->wireless_mode == WIRELESS_11ABGN) - { + if (pregistrypriv->wireless_mode == WIRELESS_11ABGN) { if (pdev_network->Configuration.DSConfig > 14) wireless_mode = WIRELESS_11A_5N; else wireless_mode = WIRELESS_11BG_24N; - } - else - { + } else { wireless_mode = pregistrypriv->wireless_mode; } - rtw_set_supported_rate(pdev_network->SupportedRates, wireless_mode) ; + rtw_set_supported_rate(pdev_network->SupportedRates, wireless_mode); rateLen = rtw_get_rateset_len(pdev_network->SupportedRates); - if (rateLen > 8) - { + if (rateLen > 8) { ie = rtw_set_ie(ie, _SUPPORTEDRATES_IE_, 8, pdev_network->SupportedRates, &sz); /* ie = rtw_set_ie(ie, _EXT_SUPPORTEDRATES_IE_, (rateLen - 8), (pdev_network->SupportedRates + 8), &sz); */ - } - else - { + } else { ie = rtw_set_ie(ie, _SUPPORTEDRATES_IE_, rateLen, pdev_network->SupportedRates, &sz); } /* DS parameter set */ ie = rtw_set_ie(ie, _DSSET_IE_, 1, (u8 *)&(pdev_network->Configuration.DSConfig), &sz); - /* IBSS Parameter Set */ ie = rtw_set_ie(ie, _IBSS_PARA_IE_, 2, (u8 *)&(pdev_network->Configuration.ATIMWindow), &sz); if (rateLen > 8) - { ie = rtw_set_ie(ie, _EXT_SUPPORTEDRATES_IE_, (rateLen - 8), (pdev_network->SupportedRates + 8), &sz); - } - - /* HT Cap. */ - if (((pregistrypriv->wireless_mode&WIRELESS_11_5N)||(pregistrypriv->wireless_mode&WIRELESS_11_24N)) - && (pregistrypriv->ht_enable==true)) - { - /* todo: */ - } - _func_exit_; - /* return _SUCCESS; */ - return sz; } @@ -502,17 +458,13 @@ unsigned char *rtw_get_wpa_ie(unsigned char *pie, int *wpa_ie_len, int limit) u8 *pbuf = pie; int limit_new = limit; - while (1) - { + while (1) { pbuf = rtw_get_ie(pbuf, _WPA_IE_ID_, &len, limit_new); if (pbuf) { - /* check if oui matches... */ - if (_rtw_memcmp((pbuf + 2), wpa_oui_type, sizeof (wpa_oui_type)) == false) { - + if (_rtw_memcmp((pbuf + 2), wpa_oui_type, sizeof (wpa_oui_type)) == false) goto check_next_ie; - } /* check version... */ _rtw_memcpy((u8 *)&le_tmp, (pbuf + 6), sizeof(val16)); @@ -520,40 +472,27 @@ unsigned char *rtw_get_wpa_ie(unsigned char *pie, int *wpa_ie_len, int limit) val16 = le16_to_cpu(le_tmp); if (val16 != 0x0001) goto check_next_ie; - *wpa_ie_len = *(pbuf + 1); - return pbuf; - - } - else { - + } else { *wpa_ie_len = 0; return NULL; } check_next_ie: - limit_new = limit - (pbuf - pie) - 2 - len; - if (limit_new <= 0) break; - pbuf += (2 + len); - } - *wpa_ie_len = 0; - return NULL; - } unsigned char *rtw_get_wpa2_ie(unsigned char *pie, int *rsn_ie_len, int limit) { - return rtw_get_ie(pie, _WPA2_IE_ID_,rsn_ie_len, limit); - + return rtw_get_ie(pie, _WPA2_IE_ID_, rsn_ie_len, limit); } int rtw_get_wpa_cipher_suite(u8 *s) @@ -589,9 +528,9 @@ int rtw_get_wpa2_cipher_suite(u8 *s) } -int rtw_parse_wpa_ie(u8* wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x) +int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x) { - int i, ret=_SUCCESS; + int i, ret = _SUCCESS; int left, count; u8 *pos; u8 SUITE_1X[4] = {0x00, 0x50, 0xf2, 1}; @@ -603,10 +542,8 @@ int rtw_parse_wpa_ie(u8* wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis if ((*wpa_ie != _WPA_IE_ID_) || (*(wpa_ie+1) != (u8)(wpa_ie_len - 2)) || - (_rtw_memcmp(wpa_ie+2, RTW_WPA_OUI_TYPE, WPA_SELECTOR_LEN) != true) ) - { + (_rtw_memcmp(wpa_ie+2, RTW_WPA_OUI_TYPE, WPA_SELECTOR_LEN) != true)) return _FAIL; - } pos = wpa_ie; @@ -616,47 +553,34 @@ int rtw_parse_wpa_ie(u8* wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis /* group_cipher */ if (left >= WPA_SELECTOR_LEN) { - *group_cipher = rtw_get_wpa_cipher_suite(pos); - pos += WPA_SELECTOR_LEN; left -= WPA_SELECTOR_LEN; - - } - else if (left > 0) - { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("%s: ie length mismatch, %u too much", __func__, left)); - + } else if (left > 0) { + RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie length mismatch, %u too much", __func__, left)); return _FAIL; } - /* pairwise_cipher */ - if (left >= 2) - { - /* count = le16_to_cpu(*(u16*)pos); */ + if (left >= 2) { count = RTW_GET_LE16(pos); pos += 2; left -= 2; if (count == 0 || left < count * WPA_SELECTOR_LEN) { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("%s: ie count botch (pairwise), " + RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie count botch (pairwise), " "count %u left %u", __func__, count, left)); return _FAIL; } - for (i = 0; i < count; i++) - { + for (i = 0; i < count; i++) { *pairwise_cipher |= rtw_get_wpa_cipher_suite(pos); pos += WPA_SELECTOR_LEN; left -= WPA_SELECTOR_LEN; } - - } - else if (left == 1) - { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("%s: ie too short (for key mgmt)", __func__)); + } else if (left == 1) { + RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie too short (for key mgmt)", __func__)); return _FAIL; } @@ -664,22 +588,21 @@ int rtw_parse_wpa_ie(u8* wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis if (left >= 6) { pos += 2; if (_rtw_memcmp(pos, SUITE_1X, 4) == 1) { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("%s : there has 802.1x auth\n", __func__)); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s : there has 802.1x auth\n", __func__)); *is_8021x = 1; } } } return ret; - } -int rtw_parse_wpa2_ie(u8* rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x) +int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x) { - int i, ret=_SUCCESS; + int i, ret = _SUCCESS; int left, count; u8 *pos; - u8 SUITE_1X[4] = {0x00,0x0f, 0xac, 0x01}; + u8 SUITE_1X[4] = {0x00, 0x0f, 0xac, 0x01}; if (rsn_ie_len <= 0) { /* No RSN IE - fail silently */ @@ -687,10 +610,8 @@ int rtw_parse_wpa2_ie(u8* rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi } - if ((*rsn_ie!= _WPA2_IE_ID_) || (*(rsn_ie+1) != (u8)(rsn_ie_len - 2))) - { + if ((*rsn_ie != _WPA2_IE_ID_) || (*(rsn_ie+1) != (u8)(rsn_ie_len - 2))) return _FAIL; - } pos = rsn_ie; pos += 4; @@ -698,43 +619,37 @@ int rtw_parse_wpa2_ie(u8* rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi /* group_cipher */ if (left >= RSN_SELECTOR_LEN) { - *group_cipher = rtw_get_wpa2_cipher_suite(pos); pos += RSN_SELECTOR_LEN; left -= RSN_SELECTOR_LEN; } else if (left > 0) { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("%s: ie length mismatch, %u too much", __func__, left)); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie length mismatch, %u too much", __func__, left)); return _FAIL; } /* pairwise_cipher */ - if (left >= 2) - { - /* count = le16_to_cpu(*(u16*)pos); */ + if (left >= 2) { count = RTW_GET_LE16(pos); pos += 2; left -= 2; if (count == 0 || left < count * RSN_SELECTOR_LEN) { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("%s: ie count botch (pairwise), " + RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie count botch (pairwise), " "count %u left %u", __func__, count, left)); return _FAIL; } - for (i = 0; i < count; i++) - { + for (i = 0; i < count; i++) { *pairwise_cipher |= rtw_get_wpa2_cipher_suite(pos); pos += RSN_SELECTOR_LEN; left -= RSN_SELECTOR_LEN; } - } - else if (left == 1) - { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("%s: ie too short (for key mgmt)", __func__)); + } else if (left == 1) { + RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie too short (for key mgmt)", __func__)); return _FAIL; } @@ -743,98 +658,92 @@ int rtw_parse_wpa2_ie(u8* rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi if (left >= 6) { pos += 2; if (_rtw_memcmp(pos, SUITE_1X, 4) == 1) { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("%s (): there has 802.1x auth\n", __func__)); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s (): there has 802.1x auth\n", __func__)); *is_8021x = 1; } } } - return ret; - } -int rtw_get_sec_ie(u8 *in_ie,uint in_len,u8 *rsn_ie,u16 *rsn_len,u8 *wpa_ie,u16 *wpa_len) +int rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len, u8 *wpa_ie, u16 *wpa_len) { u8 authmode, sec_idx, i; - u8 wpa_oui[4]={0x0,0x50,0xf2,0x01}; + u8 wpa_oui[4] = {0x0, 0x50, 0xf2, 0x01}; uint cnt; _func_enter_; - /* Search required WPA or WPA2 IE and copy to sec_ie[ ] */ + /* Search required WPA or WPA2 IE and copy to sec_ie[] */ cnt = (_TIMESTAMP_ + _BEACON_ITERVAL_ + _CAPABILITY_); - sec_idx=0; + sec_idx = 0; - while (cnt found WPS_IE.....\n"); */ + if ((eid == _WPA_IE_ID_) && (_rtw_memcmp(&ie_ptr[2], wps_oui, 4))) { *wps_ielen = ie_ptr[1]+2; - match=true; + match = true; } return match; } @@ -851,23 +760,21 @@ u8 rtw_is_wps_ie(u8 *ie_ptr, uint *wps_ielen) u8 *rtw_get_wps_ie(u8 *in_ie, uint in_len, u8 *wps_ie, uint *wps_ielen) { uint cnt; - u8 *wpsie_ptr=NULL; - u8 eid, wps_oui[4]={0x0,0x50,0xf2,0x04}; + u8 *wpsie_ptr = NULL; + u8 eid, wps_oui[4] = {0x0, 0x50, 0xf2, 0x04}; if (wps_ielen) *wps_ielen = 0; - if (!in_ie || in_len<=0) + if (!in_ie || in_len <= 0) return wpsie_ptr; cnt = 0; - while (cntwme_tspec_len = elen; break; default: - DBG_88E("unknown WME " - "information element ignored " - "(subtype=%d len=%lu)\n", - pos[4], (unsigned long) elen); + DBG_88E("unknown WME information element ignored (subtype=%d len=%lu)\n", + pos[4], (unsigned long) elen); return -1; } break; @@ -1044,10 +929,8 @@ static int rtw_ieee802_11_parse_vendor_specific(u8 *pos, uint elen, elems->wps_ie_len = elen; break; default: - DBG_88E("Unknown Microsoft " - "information element ignored " - "(type=%d len=%lu)\n", - pos[3], (unsigned long) elen); + DBG_88E("Unknown Microsoft information element ignored (type=%d len=%lu)\n", + pos[3], (unsigned long) elen); return -1; } break; @@ -1059,24 +942,17 @@ static int rtw_ieee802_11_parse_vendor_specific(u8 *pos, uint elen, elems->vendor_ht_cap_len = elen; break; default: - DBG_88E("Unknown Broadcom " - "information element ignored " - "(type=%d len=%lu)\n", - pos[3], (unsigned long) elen); + DBG_88E("Unknown Broadcom information element ignored (type=%d len=%lu)\n", + pos[3], (unsigned long) elen); return -1; } break; - default: - DBG_88E("unknown vendor specific information " - "element ignored (vendor OUI %02x:%02x:%02x " - "len=%lu)\n", - pos[0], pos[1], pos[2], (unsigned long) elen); + DBG_88E("unknown vendor specific information element ignored (vendor OUI %02x:%02x:%02x len=%lu)\n", + pos[0], pos[1], pos[2], (unsigned long) elen); return -1; } - return 0; - } /** @@ -1106,10 +982,8 @@ enum parse_res rtw_ieee802_11_parse_elems(u8 *start, uint len, if (elen > left) { if (show_errors) { - DBG_88E("IEEE 802.11 element " - "parse failed (id=%d elen=%d " - "left=%lu)\n", - id, elen, (unsigned long) left); + DBG_88E("IEEE 802.11 element parse failed (id=%d elen=%d left=%lu)\n", + id, elen, (unsigned long) left); } return ParseFailed; } @@ -1156,9 +1030,7 @@ enum parse_res rtw_ieee802_11_parse_elems(u8 *start, uint len, elems->ext_supp_rates_len = elen; break; case WLAN_EID_VENDOR_SPECIFIC: - if (rtw_ieee802_11_parse_vendor_specific(pos, elen, - elems, - show_errors)) + if (rtw_ieee802_11_parse_vendor_specific(pos, elen, elems, show_errors)) unknown++; break; case WLAN_EID_RSN: @@ -1197,70 +1069,60 @@ enum parse_res rtw_ieee802_11_parse_elems(u8 *start, uint len, unknown++; if (!show_errors) break; - DBG_88E("IEEE 802.11 element parse " - "ignored unknown element (id=%d elen=%d)\n", - id, elen); + DBG_88E("IEEE 802.11 element parse ignored unknown element (id=%d elen=%d)\n", + id, elen); break; } - left -= elen; pos += elen; } - if (left) return ParseFailed; - return unknown ? ParseUnknown : ParseOK; - } u8 key_char2num(u8 ch) { - if ((ch>='0')&&(ch<='9')) - return ch - '0'; - else if ((ch>='a')&&(ch<='f')) - return ch - 'a' + 10; - else if ((ch>='A')&&(ch<='F')) - return ch - 'A' + 10; - else - return 0xff; + if ((ch >= '0') && (ch <= '9')) + return ch - '0'; + else if ((ch >= 'a') && (ch <= 'f')) + return ch - 'a' + 10; + else if ((ch >= 'A') && (ch <= 'F')) + return ch - 'A' + 10; + else + return 0xff; } u8 str_2char2num(u8 hch, u8 lch) { - return ((key_char2num(hch) * 10 ) + key_char2num(lch)); + return (key_char2num(hch) * 10) + key_char2num(lch); } u8 key_2char2num(u8 hch, u8 lch) { - return ((key_char2num(hch) << 4) | key_char2num(lch)); + return (key_char2num(hch) << 4) | key_char2num(lch); } void rtw_macaddr_cfg(u8 *mac_addr) { u8 mac[ETH_ALEN]; - if (mac_addr == NULL) return; + if (mac_addr == NULL) + return; - if ( rtw_initmac ) - { /* Users specify the mac address */ - int jj,kk; + if (rtw_initmac) { /* Users specify the mac address */ + int jj, kk; - for ( jj = 0, kk = 0; jj < ETH_ALEN; jj++, kk += 3 ) - { - mac[jj] = key_2char2num(rtw_initmac[kk], rtw_initmac[kk+ 1]); - } + for (jj = 0, kk = 0; jj < ETH_ALEN; jj++, kk += 3) + mac[jj] = key_2char2num(rtw_initmac[kk], rtw_initmac[kk + 1]); _rtw_memcpy(mac_addr, mac, ETH_ALEN); - } - else - { /* Use the mac address stored in the Efuse */ + } else { /* Use the mac address stored in the Efuse */ _rtw_memcpy(mac, mac_addr, ETH_ALEN); } - if (((mac[0]==0xff) &&(mac[1]==0xff) && (mac[2]==0xff) && - (mac[3]==0xff) && (mac[4]==0xff) &&(mac[5]==0xff)) || - ((mac[0]==0x0) && (mac[1]==0x0) && (mac[2]==0x0) && - (mac[3]==0x0) && (mac[4]==0x0) &&(mac[5]==0x0))) - { + if (((mac[0] == 0xff) && (mac[1] == 0xff) && (mac[2] == 0xff) && + (mac[3] == 0xff) && (mac[4] == 0xff) && (mac[5] == 0xff)) || + ((mac[0] == 0x0) && (mac[1] == 0x0) && (mac[2] == 0x0) && + (mac[3] == 0x0) && (mac[4] == 0x0) && (mac[5] == 0x0))) { mac[0] = 0x00; mac[1] = 0xe0; mac[2] = 0x4c; @@ -1275,11 +1137,12 @@ void rtw_macaddr_cfg(u8 *mac_addr) DBG_88E("rtw_macaddr_cfg MAC Address = %pM\n", (mac_addr)); } -void dump_ies(u8 *buf, u32 buf_len) { - u8* pos = (u8*)buf; +void dump_ies(u8 *buf, u32 buf_len) +{ + u8 *pos = (u8 *)buf; u8 id, len; - while (pos-buf<=buf_len){ + while (pos-buf <= buf_len) { id = *pos; len = *(pos+1); @@ -1289,15 +1152,15 @@ void dump_ies(u8 *buf, u32 buf_len) { #endif dump_wps_ie(pos, len); - pos+=(2+len); + pos += (2 + len); } } -void dump_wps_ie(u8 *ie, u32 ie_len) { - u8* pos = (u8*)ie; +void dump_wps_ie(u8 *ie, u32 ie_len) +{ + u8 *pos = (u8 *)ie; u16 id; u16 len; - u8 *wps_ie; uint wps_ielen; @@ -1305,23 +1168,21 @@ void dump_wps_ie(u8 *ie, u32 ie_len) { if (wps_ie != ie || wps_ielen == 0) return; - pos+=6; - while (pos-ie < ie_len){ + pos += 6; + while (pos-ie < ie_len) { id = RTW_GET_BE16(pos); len = RTW_GET_BE16(pos + 2); - DBG_88E("%s ID:0x%04x, LEN:%u\n", __func__, id, len); - - pos+=(4+len); + pos += (4+len); } } #ifdef CONFIG_P2P -void dump_p2p_ie(u8 *ie, u32 ie_len) { - u8* pos = (u8*)ie; +void dump_p2p_ie(u8 *ie, u32 ie_len) +{ + u8 *pos = (u8 *)ie; u8 id; u16 len; - u8 *p2p_ie; uint p2p_ielen; @@ -1329,14 +1190,12 @@ void dump_p2p_ie(u8 *ie, u32 ie_len) { if (p2p_ie != ie || p2p_ielen == 0) return; - pos+=6; - while (pos-ie < ie_len){ + pos += 6; + while (pos-ie < ie_len) { id = *pos; len = RTW_GET_LE16(pos+1); - DBG_88E("%s ID:%u, LEN:%u\n", __func__, id, len); - - pos+=(3+len); + pos += (3+len); } } @@ -1353,45 +1212,30 @@ u8 *rtw_get_p2p_ie(u8 *in_ie, int in_len, u8 *p2p_ie, uint *p2p_ielen) { uint cnt = 0; u8 *p2p_ie_ptr; - u8 eid, p2p_oui[4]={0x50,0x6F,0x9A,0x09}; + u8 eid, p2p_oui[4] = {0x50, 0x6F, 0x9A, 0x09}; - if ( p2p_ielen != NULL ) + if (p2p_ielen != NULL) *p2p_ielen = 0; - while (cnt MAX_IE_SZ)) { dump_stack(); return NULL; } - if ( ( eid == _VENDOR_SPECIFIC_IE_ ) && ( _rtw_memcmp( &in_ie[cnt+2], p2p_oui, 4) == true ) ) - { + if ((eid == _VENDOR_SPECIFIC_IE_) && (_rtw_memcmp(&in_ie[cnt+2], p2p_oui, 4) == true)) { p2p_ie_ptr = in_ie + cnt; - if ( p2p_ie != NULL ) - { - _rtw_memcpy( p2p_ie, &in_ie[ cnt ], in_ie[ cnt + 1 ] + 2 ); - } - - if ( p2p_ielen != NULL ) - { - *p2p_ielen = in_ie[ cnt + 1 ] + 2; - } - + if (p2p_ie != NULL) + _rtw_memcpy(p2p_ie, &in_ie[cnt], in_ie[cnt + 1] + 2); + if (p2p_ielen != NULL) + *p2p_ielen = in_ie[cnt + 1] + 2; return p2p_ie_ptr; - - break; + } else { + cnt += in_ie[cnt + 1] + 2; /* goto next */ } - else - { - cnt += in_ie[ cnt + 1 ] +2; /* goto next */ - } - } - return NULL; - } /** @@ -1404,51 +1248,40 @@ u8 *rtw_get_p2p_ie(u8 *in_ie, int in_len, u8 *p2p_ie, uint *p2p_ielen) * * Returns: the address of the specific WPS attribute found, or NULL */ -u8 *rtw_get_p2p_attr(u8 *p2p_ie, uint p2p_ielen, u8 target_attr_id ,u8 *buf_attr, u32 *len_attr) +u8 *rtw_get_p2p_attr(u8 *p2p_ie, uint p2p_ielen, u8 target_attr_id , u8 *buf_attr, u32 *len_attr) { u8 *attr_ptr = NULL; u8 *target_attr_ptr = NULL; - u8 p2p_oui[4]={0x50,0x6F,0x9A,0x09}; + u8 p2p_oui[4] = {0x50, 0x6F, 0x9A, 0x09}; if (len_attr) *len_attr = 0; - if ( !p2p_ie || ( p2p_ie[0] != _VENDOR_SPECIFIC_IE_ ) || - ( _rtw_memcmp( p2p_ie + 2, p2p_oui , 4 ) != true ) ) - { + if (!p2p_ie || (p2p_ie[0] != _VENDOR_SPECIFIC_IE_) || + (_rtw_memcmp(p2p_ie + 2, p2p_oui , 4) != true)) return attr_ptr; - } /* 6 = 1(Element ID) + 1(Length) + 3 (OUI) + 1(OUI Type) */ attr_ptr = p2p_ie + 6; /* goto first attr */ - while (attr_ptr - p2p_ie < p2p_ielen) - { + while (attr_ptr - p2p_ie < p2p_ielen) { /* 3 = 1(Attribute ID) + 2(Length) */ u8 attr_id = *attr_ptr; u16 attr_data_len = RTW_GET_LE16(attr_ptr + 1); u16 attr_len = attr_data_len + 3; - /* DBG_88E("%s attr_ptr:%p, id:%u, length:%u\n", __func__, attr_ptr, attr_id, attr_data_len); */ - if ( attr_id == target_attr_id ) - { + if (attr_id == target_attr_id) { target_attr_ptr = attr_ptr; if (buf_attr) _rtw_memcpy(buf_attr, attr_ptr, attr_len); - if (len_attr) *len_attr = attr_len; - break; - } - else - { + } else { attr_ptr += attr_len; /* goto next */ } - } - return target_attr_ptr; } @@ -1462,7 +1295,7 @@ u8 *rtw_get_p2p_attr(u8 *p2p_ie, uint p2p_ielen, u8 target_attr_id ,u8 *buf_attr * * Returns: the address of the specific P2P attribute content found, or NULL */ -u8 *rtw_get_p2p_attr_content(u8 *p2p_ie, uint p2p_ielen, u8 target_attr_id ,u8 *buf_content, uint *len_content) +u8 *rtw_get_p2p_attr_content(u8 *p2p_ie, uint p2p_ielen, u8 target_attr_id , u8 *buf_content, uint *len_content) { u8 *attr_ptr; u32 attr_len; @@ -1472,8 +1305,7 @@ u8 *rtw_get_p2p_attr_content(u8 *p2p_ie, uint p2p_ielen, u8 target_attr_id ,u8 * attr_ptr = rtw_get_p2p_attr(p2p_ie, p2p_ielen, target_attr_id, NULL, &attr_len); - if (attr_ptr && attr_len) - { + if (attr_ptr && attr_len) { if (buf_content) _rtw_memcpy(buf_content, attr_ptr+3, attr_len-3); @@ -1508,12 +1340,11 @@ static uint rtw_p2p_attr_remove(u8 *ie, uint ielen_ori, u8 attr_id) u8 *target_attr; u32 target_attr_len; uint ielen = ielen_ori; - int index=0; + int index = 0; while (1) { - target_attr=rtw_get_p2p_attr(ie, ielen, attr_id, NULL, &target_attr_len); - if (target_attr && target_attr_len) - { + target_attr = rtw_get_p2p_attr(ie, ielen, attr_id, NULL, &target_attr_len); + if (target_attr && target_attr_len) { u8 *next_attr = target_attr+target_attr_len; uint remain_len = ielen-(next_attr-ie); @@ -1521,14 +1352,11 @@ static uint rtw_p2p_attr_remove(u8 *ie, uint ielen_ori, u8 attr_id) _rtw_memcpy(target_attr, next_attr, remain_len); _rtw_memset(target_attr+remain_len, 0, target_attr_len); *(ie+1) -= target_attr_len; - ielen-=target_attr_len; - } - else - { + ielen -= target_attr_len; + } else { break; } } - return ielen; } @@ -1538,11 +1366,10 @@ void rtw_wlan_bssid_ex_remove_p2p_attr(struct wlan_bssid_ex *bss_ex, u8 attr_id) uint p2p_ielen, p2p_ielen_ori; int cnt; - if ( (p2p_ie=rtw_get_p2p_ie(bss_ex->IEs+_FIXED_IE_LENGTH_, bss_ex->IELength-_FIXED_IE_LENGTH_, NULL, &p2p_ielen_ori)) ) - { - p2p_ielen=rtw_p2p_attr_remove(p2p_ie, p2p_ielen_ori, attr_id); + p2p_ie = rtw_get_p2p_ie(bss_ex->IEs+_FIXED_IE_LENGTH_, bss_ex->IELength-_FIXED_IE_LENGTH_, NULL, &p2p_ielen_ori); + if (p2p_ie) { + p2p_ielen = rtw_p2p_attr_remove(p2p_ie, p2p_ielen_ori, attr_id); if (p2p_ielen != p2p_ielen_ori) { - u8 *next_ie_ori = p2p_ie+p2p_ielen_ori; u8 *next_ie = p2p_ie+p2p_ielen; uint remain_len = bss_ex->IELength-(next_ie_ori-bss_ex->IEs); @@ -1608,31 +1435,29 @@ static int rtw_get_cipher_info(struct wlan_network *pnetwork) int ret = _FAIL; pbuf = rtw_get_wpa_ie(&pnetwork->network.IEs[12], &wpa_ielen, pnetwork->network.IELength-12); - if (pbuf && (wpa_ielen>0)) { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("rtw_get_cipher_info: wpa_ielen: %d", wpa_ielen)); + if (pbuf && (wpa_ielen > 0)) { + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_cipher_info: wpa_ielen: %d", wpa_ielen)); if (_SUCCESS == rtw_parse_wpa_ie(pbuf, wpa_ielen+2, &group_cipher, &pairwise_cipher, &is8021x)) { - pnetwork->BcnInfo.pairwise_cipher = pairwise_cipher; pnetwork->BcnInfo.group_cipher = group_cipher; pnetwork->BcnInfo.is_8021x = is8021x; - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("%s: pnetwork->pairwise_cipher: %d, is_8021x is %d", - __func__, pnetwork->BcnInfo.pairwise_cipher, pnetwork->BcnInfo.is_8021x)); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s: pnetwork->pairwise_cipher: %d, is_8021x is %d", + __func__, pnetwork->BcnInfo.pairwise_cipher, pnetwork->BcnInfo.is_8021x)); ret = _SUCCESS; } } else { - pbuf = rtw_get_wpa2_ie(&pnetwork->network.IEs[12], &wpa_ielen, pnetwork->network.IELength-12); - if (pbuf && (wpa_ielen>0)) { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("get RSN IE\n")); + if (pbuf && (wpa_ielen > 0)) { + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("get RSN IE\n")); if (_SUCCESS == rtw_parse_wpa2_ie(pbuf, wpa_ielen+2, &group_cipher, &pairwise_cipher, &is8021x)) { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("get RSN IE OK!!!\n")); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("get RSN IE OK!!!\n")); pnetwork->BcnInfo.pairwise_cipher = pairwise_cipher; pnetwork->BcnInfo.group_cipher = group_cipher; pnetwork->BcnInfo.is_8021x = is8021x; - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("%s: pnetwork->pairwise_cipher: %d," + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s: pnetwork->pairwise_cipher: %d," "pnetwork->group_cipher is %d, is_8021x is %d", __func__, pnetwork->BcnInfo.pairwise_cipher, - pnetwork->BcnInfo.group_cipher,pnetwork->BcnInfo.is_8021x)); + pnetwork->BcnInfo.group_cipher, pnetwork->BcnInfo.is_8021x)); ret = _SUCCESS; } } @@ -1646,7 +1471,7 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork) unsigned short cap = 0; u8 bencrypt = 0; __le16 le_tmp; - u16 wpa_len=0,rsn_len=0; + u16 wpa_len = 0, rsn_len = 0; struct HT_info_element *pht_info = NULL; struct rtw_ieee80211_ht_cap *pht_cap = NULL; unsigned int len; @@ -1660,11 +1485,11 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork) } else { pnetwork->BcnInfo.encryp_protocol = ENCRYP_PROTOCOL_OPENSYS; } - rtw_get_sec_ie(pnetwork->network.IEs ,pnetwork->network.IELength,NULL,&rsn_len,NULL,&wpa_len); - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("rtw_get_bcn_info: ssid=%s\n",pnetwork->network.Ssid.Ssid)); - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("rtw_get_bcn_info: wpa_len=%d rsn_len=%d\n",wpa_len,rsn_len)); - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("rtw_get_bcn_info: ssid=%s\n",pnetwork->network.Ssid.Ssid)); - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("rtw_get_bcn_info: wpa_len=%d rsn_len=%d\n",wpa_len,rsn_len)); + rtw_get_sec_ie(pnetwork->network.IEs , pnetwork->network.IELength, NULL, &rsn_len, NULL, &wpa_len); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: ssid =%s\n", pnetwork->network.Ssid.Ssid)); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: wpa_len =%d rsn_len =%d\n", wpa_len, rsn_len)); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: ssid =%s\n", pnetwork->network.Ssid.Ssid)); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: wpa_len =%d rsn_len =%d\n", wpa_len, rsn_len)); if (rsn_len > 0) { pnetwork->BcnInfo.encryp_protocol = ENCRYP_PROTOCOL_WPA2; @@ -1674,16 +1499,16 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork) if (bencrypt) pnetwork->BcnInfo.encryp_protocol = ENCRYP_PROTOCOL_WEP; } - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("rtw_get_bcn_info: pnetwork->encryp_protocol is %x\n", - pnetwork->BcnInfo.encryp_protocol)); - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("rtw_get_bcn_info: pnetwork->encryp_protocol is %x\n", - pnetwork->BcnInfo.encryp_protocol)); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: pnetwork->encryp_protocol is %x\n", + pnetwork->BcnInfo.encryp_protocol)); + RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: pnetwork->encryp_protocol is %x\n", + pnetwork->BcnInfo.encryp_protocol)); rtw_get_cipher_info(pnetwork); /* get bwmode and ch_offset */ /* parsing HT_CAP_IE */ p = rtw_get_ie(pnetwork->network.IEs + _FIXED_IE_LENGTH_, _HT_CAPABILITY_IE_, &len, pnetwork->network.IELength - _FIXED_IE_LENGTH_); - if (p && len>0) { + if (p && len > 0) { pht_cap = (struct rtw_ieee80211_ht_cap *)(p + 2); pnetwork->BcnInfo.ht_cap_info = pht_cap->cap_info; } else { @@ -1691,7 +1516,7 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork) } /* parsing HT_INFO_IE */ p = rtw_get_ie(pnetwork->network.IEs + _FIXED_IE_LENGTH_, _HT_ADD_INFO_IE_, &len, pnetwork->network.IELength - _FIXED_IE_LENGTH_); - if (p && len>0) { + if (p && len > 0) { pht_info = (struct HT_info_element *)(p + 2); pnetwork->BcnInfo.ht_info_infos_0 = pht_info->infos[0]; } else { @@ -1700,74 +1525,68 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork) } /* show MCS rate, unit: 100Kbps */ -u16 rtw_mcs_rate(u8 rf_type, u8 bw_40MHz, u8 short_GI_20, u8 short_GI_40, unsigned char * MCS_rate) +u16 rtw_mcs_rate(u8 rf_type, u8 bw_40MHz, u8 short_GI_20, u8 short_GI_40, unsigned char *MCS_rate) { u16 max_rate = 0; - if (rf_type == RF_1T1R) - { + if (rf_type == RF_1T1R) { if (MCS_rate[0] & BIT(7)) - max_rate = (bw_40MHz) ? ((short_GI_40)?1500:1350):((short_GI_20)?722:650); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 1500 : 1350) : ((short_GI_20) ? 722 : 650); else if (MCS_rate[0] & BIT(6)) - max_rate = (bw_40MHz) ? ((short_GI_40)?1350:1215):((short_GI_20)?650:585); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 1350 : 1215) : ((short_GI_20) ? 650 : 585); else if (MCS_rate[0] & BIT(5)) - max_rate = (bw_40MHz) ? ((short_GI_40)?1200:1080):((short_GI_20)?578:520); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 1200 : 1080) : ((short_GI_20) ? 578 : 520); else if (MCS_rate[0] & BIT(4)) - max_rate = (bw_40MHz) ? ((short_GI_40)?900:810):((short_GI_20)?433:390); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 900 : 810) : ((short_GI_20) ? 433 : 390); else if (MCS_rate[0] & BIT(3)) - max_rate = (bw_40MHz) ? ((short_GI_40)?600:540):((short_GI_20)?289:260); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 600 : 540) : ((short_GI_20) ? 289 : 260); else if (MCS_rate[0] & BIT(2)) - max_rate = (bw_40MHz) ? ((short_GI_40)?450:405):((short_GI_20)?217:195); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 450 : 405) : ((short_GI_20) ? 217 : 195); else if (MCS_rate[0] & BIT(1)) - max_rate = (bw_40MHz) ? ((short_GI_40)?300:270):((short_GI_20)?144:130); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 300 : 270) : ((short_GI_20) ? 144 : 130); else if (MCS_rate[0] & BIT(0)) - max_rate = (bw_40MHz) ? ((short_GI_40)?150:135):((short_GI_20)?72:65); - } - else - { - if (MCS_rate[1]) - { + max_rate = (bw_40MHz) ? ((short_GI_40) ? 150 : 135) : ((short_GI_20) ? 72 : 65); + } else { + if (MCS_rate[1]) { if (MCS_rate[1] & BIT(7)) - max_rate = (bw_40MHz) ? ((short_GI_40)?3000:2700):((short_GI_20)?1444:1300); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 3000 : 2700) : ((short_GI_20) ? 1444 : 1300); else if (MCS_rate[1] & BIT(6)) - max_rate = (bw_40MHz) ? ((short_GI_40)?2700:2430):((short_GI_20)?1300:1170); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 2700 : 2430) : ((short_GI_20) ? 1300 : 1170); else if (MCS_rate[1] & BIT(5)) - max_rate = (bw_40MHz) ? ((short_GI_40)?2400:2160):((short_GI_20)?1156:1040); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 2400 : 2160) : ((short_GI_20) ? 1156 : 1040); else if (MCS_rate[1] & BIT(4)) - max_rate = (bw_40MHz) ? ((short_GI_40)?1800:1620):((short_GI_20)?867:780); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 1800 : 1620) : ((short_GI_20) ? 867 : 780); else if (MCS_rate[1] & BIT(3)) - max_rate = (bw_40MHz) ? ((short_GI_40)?1200:1080):((short_GI_20)?578:520); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 1200 : 1080) : ((short_GI_20) ? 578 : 520); else if (MCS_rate[1] & BIT(2)) - max_rate = (bw_40MHz) ? ((short_GI_40)?900:810):((short_GI_20)?433:390); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 900 : 810) : ((short_GI_20) ? 433 : 390); else if (MCS_rate[1] & BIT(1)) - max_rate = (bw_40MHz) ? ((short_GI_40)?600:540):((short_GI_20)?289:260); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 600 : 540) : ((short_GI_20) ? 289 : 260); else if (MCS_rate[1] & BIT(0)) - max_rate = (bw_40MHz) ? ((short_GI_40)?300:270):((short_GI_20)?144:130); - } - else - { + max_rate = (bw_40MHz) ? ((short_GI_40) ? 300 : 270) : ((short_GI_20) ? 144 : 130); + } else { if (MCS_rate[0] & BIT(7)) - max_rate = (bw_40MHz) ? ((short_GI_40)?1500:1350):((short_GI_20)?722:650); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 1500 : 1350) : ((short_GI_20) ? 722 : 650); else if (MCS_rate[0] & BIT(6)) - max_rate = (bw_40MHz) ? ((short_GI_40)?1350:1215):((short_GI_20)?650:585); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 1350 : 1215) : ((short_GI_20) ? 650 : 585); else if (MCS_rate[0] & BIT(5)) - max_rate = (bw_40MHz) ? ((short_GI_40)?1200:1080):((short_GI_20)?578:520); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 1200 : 1080) : ((short_GI_20) ? 578 : 520); else if (MCS_rate[0] & BIT(4)) - max_rate = (bw_40MHz) ? ((short_GI_40)?900:810):((short_GI_20)?433:390); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 900 : 810) : ((short_GI_20) ? 433 : 390); else if (MCS_rate[0] & BIT(3)) - max_rate = (bw_40MHz) ? ((short_GI_40)?600:540):((short_GI_20)?289:260); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 600 : 540) : ((short_GI_20) ? 289 : 260); else if (MCS_rate[0] & BIT(2)) - max_rate = (bw_40MHz) ? ((short_GI_40)?450:405):((short_GI_20)?217:195); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 450 : 405) : ((short_GI_20) ? 217 : 195); else if (MCS_rate[0] & BIT(1)) - max_rate = (bw_40MHz) ? ((short_GI_40)?300:270):((short_GI_20)?144:130); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 300 : 270) : ((short_GI_20) ? 144 : 130); else if (MCS_rate[0] & BIT(0)) - max_rate = (bw_40MHz) ? ((short_GI_40)?150:135):((short_GI_20)?72:65); + max_rate = (bw_40MHz) ? ((short_GI_40) ? 150 : 135) : ((short_GI_20) ? 72 : 65); } } return max_rate; } -int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8* category, u8 *action) +int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8 *category, u8 *action) { const u8 *frame_body = frame + sizeof(struct rtw_ieee80211_hdr_3addr); u16 fc;