Updated to v4.3.8_12406.20140929

This commit is contained in:
CGarces
2017-05-11 20:35:20 +02:00
parent 1387cf623d
commit 9dde4572b4
229 changed files with 35553 additions and 24316 deletions

View File

@@ -150,7 +150,6 @@ u8 *rtw_set_ie
uint *frlen //frame length
)
{
_func_enter_;
*pbuf = (u8)index;
*(pbuf + 1) = (u8)len;
@@ -161,7 +160,6 @@ _func_enter_;
*frlen = *frlen + (len + 2);
return (pbuf + len + 2);
_func_exit_;
}
inline u8 *rtw_set_ie_ch_switch(u8 *buf, u32 *buf_len, u8 ch_switch_mode,
@@ -1112,7 +1110,7 @@ static int rtw_ieee802_11_parse_vendor_specific(u8 *pos, uint elen,
elems->wme_tspec_len = elen;
break;
default:
DBG_871X("unknown WME "
DBG_871X_LEVEL(_drv_warning_, "unknown WME "
"information element ignored "
"(subtype=%d len=%lu)\n",
pos[4], (unsigned long) elen);
@@ -1125,7 +1123,7 @@ static int rtw_ieee802_11_parse_vendor_specific(u8 *pos, uint elen,
elems->wps_ie_len = elen;
break;
default:
DBG_871X("Unknown Microsoft "
DBG_871X_LEVEL(_drv_warning_, "Unknown Microsoft "
"information element ignored "
"(type=%d len=%lu)\n",
pos[3], (unsigned long) elen);
@@ -1140,7 +1138,7 @@ static int rtw_ieee802_11_parse_vendor_specific(u8 *pos, uint elen,
elems->vendor_ht_cap_len = elen;
break;
default:
DBG_871X("Unknown Broadcom "
DBG_871X_LEVEL(_drv_warning_, "Unknown Broadcom "
"information element ignored "
"(type=%d len=%lu)\n",
pos[3], (unsigned long) elen);
@@ -1149,7 +1147,7 @@ static int rtw_ieee802_11_parse_vendor_specific(u8 *pos, uint elen,
break;
default:
DBG_871X("unknown vendor specific information "
DBG_871X_LEVEL(_drv_warning_, "unknown vendor specific information "
"element ignored (vendor OUI %02x:%02x:%02x "
"len=%lu)\n",
pos[0], pos[1], pos[2], (unsigned long) elen);
@@ -1290,9 +1288,10 @@ ParseRes rtw_ieee802_11_parse_elems(u8 *start, uint len,
unknown++;
if (!show_errors)
break;
DBG_871X("IEEE 802.11 element parse "
"ignored unknown element (id=%d elen=%d)\n",
id, elen);
DBG_871X_LEVEL(_drv_warning_,
"IEEE 802.11 element parse "
"ignored unknown element (id=%d elen=%d)\n",
id, elen);
break;
}
@@ -1387,21 +1386,56 @@ void rtw_macaddr_cfg(u8 *mac_addr)
DBG_871X("rtw_macaddr_cfg MAC Address = "MAC_FMT"\n", MAC_ARG(mac_addr));
}
void dump_ies(u8 *buf, u32 buf_len)
#ifdef CONFIG_80211N_HT
void dump_ht_cap_ie_content(void *sel, u8 *buf, u32 buf_len)
{
if (buf_len != 26) {
DBG_871X_SEL_NL(sel, "Invalid HT capability IE len:%d != %d\n", buf_len, 26);
return;
}
DBG_871X_SEL_NL(sel, "HT Capabilities Info:%02x%02x\n", *(buf), *(buf+1));
DBG_871X_SEL_NL(sel, "A-MPDU Parameters:"HT_AMPDU_PARA_FMT"\n"
, HT_AMPDU_PARA_ARG(HT_CAP_ELE_AMPDU_PARA(buf)));
DBG_871X_SEL_NL(sel, "Supported MCS Set:"HT_SUP_MCS_SET_FMT"\n"
, HT_SUP_MCS_SET_ARG(HT_CAP_ELE_SUP_MCS_SET(buf)));
}
void dump_ht_cap_ie(void *sel, u8 *ie, u32 ie_len)
{
u8* pos = (u8*)ie;
u16 id;
u16 len;
u8 *ht_cap_ie;
sint ht_cap_ielen;
ht_cap_ie = rtw_get_ie(ie, _HT_CAPABILITY_IE_, &ht_cap_ielen, ie_len);
if(!ie || ht_cap_ie != ie)
return;
dump_ht_cap_ie_content(sel, ht_cap_ie+2, ht_cap_ielen);
}
#endif /* CONFIG_80211N_HT */
void dump_ies(void *sel, u8 *buf, u32 buf_len)
{
u8* pos = (u8*)buf;
u8 id, len;
while(pos-buf<=buf_len){
while(pos-buf+1<buf_len){
id = *pos;
len = *(pos+1);
DBG_871X("%s ID:%u, LEN:%u\n", __FUNCTION__, id, len);
dump_wps_ie(pos, len);
DBG_871X_SEL_NL(sel, "%s ID:%u, LEN:%u\n", __FUNCTION__, id, len);
#ifdef CONFIG_80211N_HT
dump_ht_cap_ie(sel, pos, len);
#endif
dump_wps_ie(sel, pos, len);
#ifdef CONFIG_P2P
dump_p2p_ie(pos, len);
dump_p2p_ie(sel, pos, len);
#ifdef CONFIG_WFD
dump_wfd_ie(pos, len);
dump_wfd_ie(sel, pos, len);
#endif
#endif
@@ -1409,7 +1443,7 @@ void dump_ies(u8 *buf, u32 buf_len)
}
}
void dump_wps_ie(u8 *ie, u32 ie_len)
void dump_wps_ie(void *sel, u8 *ie, u32 ie_len)
{
u8* pos = (u8*)ie;
u16 id;
@@ -1427,7 +1461,7 @@ void dump_wps_ie(u8 *ie, u32 ie_len)
id = RTW_GET_BE16(pos);
len = RTW_GET_BE16(pos + 2);
DBG_871X("%s ID:0x%04x, LEN:%u\n", __FUNCTION__, id, len);
DBG_871X_SEL_NL(sel, "%s ID:0x%04x, LEN:%u\n", __FUNCTION__, id, len);
pos+=(4+len);
}
@@ -1505,7 +1539,7 @@ int rtw_p2p_merge_ies(u8 *in_ie, u32 in_len, u8 *merge_ie)
return 0;
}
void dump_p2p_ie(u8 *ie, u32 ie_len) {
void dump_p2p_ie(void *sel, u8 *ie, u32 ie_len) {
u8* pos = (u8*)ie;
u8 id;
u16 len;
@@ -1522,7 +1556,7 @@ void dump_p2p_ie(u8 *ie, u32 ie_len) {
id = *pos;
len = RTW_GET_LE16(pos+1);
DBG_871X("%s ID:%u, LEN:%u\n", __FUNCTION__, id, len);
DBG_871X_SEL_NL(sel, "%s ID:%u, LEN:%u\n", __FUNCTION__, id, len);
pos+=(3+len);
}
@@ -1726,7 +1760,7 @@ static uint rtw_p2p_attr_remove(u8 *ie, uint ielen_ori, u8 attr_id)
{
u8 *next_attr = target_attr+target_attr_len;
uint remain_len = ielen-(next_attr-ie);
//dump_ies(ie, ielen);
//dump_ies(RTW_DBGDUMP, ie, ielen);
#if 0
DBG_871X("[%d] ie:%p, ielen:%u\n"
"target_attr:%p, target_attr_len:%u\n"
@@ -1747,7 +1781,7 @@ static uint rtw_p2p_attr_remove(u8 *ie, uint ielen_ori, u8 attr_id)
else
{
//if(index>0)
// dump_ies(ie, ielen);
// dump_ies(RTW_DBGDUMP, ie, ielen);
break;
}
}
@@ -1763,12 +1797,11 @@ void rtw_WLAN_BSSID_EX_remove_p2p_attr(WLAN_BSSID_EX *bss_ex, u8 attr_id)
if( (p2p_ie=rtw_get_p2p_ie(bss_ex->IEs+_FIXED_IE_LENGTH_, bss_ex->IELength-_FIXED_IE_LENGTH_, NULL, &p2p_ielen_ori)) )
{
#if 0
if (0)
if(rtw_get_p2p_attr(p2p_ie, p2p_ielen_ori, attr_id, NULL, NULL)) {
DBG_871X("rtw_get_p2p_attr: GOT P2P_ATTR:%u!!!!!!!!\n", attr_id);
dump_ies(bss_ex->IEs+_FIXED_IE_LENGTH_, bss_ex->IELength-_FIXED_IE_LENGTH_);
dump_ies(RTW_DBGDUMP, bss_ex->IEs+_FIXED_IE_LENGTH_, bss_ex->IELength-_FIXED_IE_LENGTH_);
}
#endif
p2p_ielen=rtw_p2p_attr_remove(p2p_ie, p2p_ielen_ori, attr_id);
if(p2p_ielen != p2p_ielen_ori) {
@@ -1781,10 +1814,10 @@ void rtw_WLAN_BSSID_EX_remove_p2p_attr(WLAN_BSSID_EX *bss_ex, u8 attr_id)
_rtw_memset(next_ie+remain_len, 0, p2p_ielen_ori-p2p_ielen);
bss_ex->IELength -= p2p_ielen_ori-p2p_ielen;
#if 0
DBG_871X("remove P2P_ATTR:%u!\n", attr_id);
dump_ies(bss_ex->IEs+_FIXED_IE_LENGTH_, bss_ex->IELength-_FIXED_IE_LENGTH_);
#endif
if (0) {
DBG_871X("remove P2P_ATTR:%u!\n", attr_id);
dump_ies(RTW_DBGDUMP, bss_ex->IEs+_FIXED_IE_LENGTH_, bss_ex->IELength-_FIXED_IE_LENGTH_);
}
}
}
}
@@ -1792,7 +1825,7 @@ void rtw_WLAN_BSSID_EX_remove_p2p_attr(WLAN_BSSID_EX *bss_ex, u8 attr_id)
#endif //CONFIG_P2P
#ifdef CONFIG_WFD
void dump_wfd_ie(u8 *ie, u32 ie_len)
void dump_wfd_ie(void *sel, u8 *ie, u32 ie_len)
{
u8* pos = (u8*)ie;
u8 id;
@@ -1809,7 +1842,7 @@ void dump_wfd_ie(u8 *ie, u32 ie_len)
id = *pos;
len = RTW_GET_BE16(pos+1);
DBG_871X("%s ID:%u, LEN:%u\n", __FUNCTION__, id, len);
DBG_871X_SEL_NL(sel, "%s ID:%u, LEN:%u\n", __FUNCTION__, id, len);
pos+=(3+len);
}