hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
kernel/drivers/net/wireless/rockchip_wlan/rtl8723cs/core/rtw_p2p.c
....@@ -2287,7 +2287,6 @@
22872287
22882288 while (p2p_ie) {
22892289 /* Check P2P Capability ATTR */
2290
- attr_contentlen = sizeof(cap_attr);
22912290 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_CAPABILITY, (u8 *)&cap_attr, (uint *) &attr_contentlen)) {
22922291 RTW_INFO("[%s] Got P2P Capability Attr!!\n", __FUNCTION__);
22932292 cap_attr = le16_to_cpu(cap_attr);
....@@ -2304,6 +2303,7 @@
23042303 if (pattr_content) {
23052304 u8 num_of_secdev_type;
23062305 u16 dev_name_len;
2306
+
23072307
23082308 rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_DEVICE_INFO , pattr_content, (uint *)&attr_contentlen);
23092309
....@@ -2384,11 +2384,10 @@
23842384 u8 dev_addr[ETH_ALEN] = { 0x00 };
23852385 u32 attr_contentlen = 0;
23862386
2387
- attr_contentlen = sizeof(groupid);
23882387 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_GROUP_ID, groupid, &attr_contentlen)) {
23892388 if (_rtw_memcmp(pwdinfo->device_addr, groupid, ETH_ALEN) &&
23902389 _rtw_memcmp(pwdinfo->p2p_group_ssid, groupid + ETH_ALEN, pwdinfo->p2p_group_ssid_len)) {
2391
- attr_contentlen = sizeof(dev_addr);
2390
+ attr_contentlen = 0;
23922391 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_DEVICE_ID, dev_addr, &attr_contentlen)) {
23932392 _irqL irqL;
23942393 _list *phead, *plist;
....@@ -2456,7 +2455,6 @@
24562455
24572456 wpsie = rtw_get_wps_ie(frame_body + _PUBLIC_ACTION_IE_OFFSET_, len - _PUBLIC_ACTION_IE_OFFSET_, NULL, &wps_ielen);
24582457 if (wpsie) {
2459
- attr_contentlen = sizeof(uconfig_method);
24602458 if (rtw_get_wps_attr_content(wpsie, wps_ielen, WPS_ATTR_CONF_METHOD , (u8 *) &uconfig_method, &attr_contentlen)) {
24612459 uconfig_method = be16_to_cpu(uconfig_method);
24622460 switch (uconfig_method) {
....@@ -2554,7 +2552,6 @@
25542552 /* If some device wants to do p2p handshake without sending prov_disc_req */
25552553 /* We have to get peer_req_cm from here. */
25562554 if (_rtw_memcmp(pwdinfo->rx_prov_disc_info.strconfig_method_desc_of_prov_disc_req, "000", 3)) {
2557
- wps_devicepassword_id_len = sizeof(wps_devicepassword_id);
25582555 rtw_get_wps_attr_content(wpsie, wps_ielen, WPS_ATTR_DEVICE_PWID, (u8 *) &wps_devicepassword_id, &wps_devicepassword_id_len);
25592556 wps_devicepassword_id = be16_to_cpu(wps_devicepassword_id);
25602557
....@@ -2598,7 +2595,6 @@
25982595 rtw_p2p_set_state(pwdinfo, P2P_STATE_GONEGO_ING);
25992596
26002597 /* Check P2P Capability ATTR */
2601
- attr_contentlen = sizeof(cap_attr);
26022598 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_CAPABILITY, (u8 *)&cap_attr, (uint *)&attr_contentlen)) {
26032599 cap_attr = le16_to_cpu(cap_attr);
26042600
....@@ -2608,7 +2604,6 @@
26082604 #endif /* defined(CONFIG_WFD) && defined(CONFIG_TDLS) */
26092605 }
26102606
2611
- attr_contentlen = sizeof(attr_content);
26122607 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_GO_INTENT , &attr_content, &attr_contentlen)) {
26132608 RTW_INFO("[%s] GO Intent = %d, tie = %d\n", __FUNCTION__, attr_content >> 1, attr_content & 0x01);
26142609 pwdinfo->peer_intent = attr_content; /* include both intent and tie breaker values. */
....@@ -2636,19 +2631,17 @@
26362631 }
26372632 }
26382633
2639
- attr_contentlen = sizeof(listen_ch_attr);
26402634 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_LISTEN_CH, (u8 *)listen_ch_attr, (uint *) &attr_contentlen) && attr_contentlen == 5)
26412635 pwdinfo->nego_req_info.peer_ch = listen_ch_attr[4];
26422636
26432637 RTW_INFO(FUNC_ADPT_FMT" listen channel :%u\n", FUNC_ADPT_ARG(padapter), pwdinfo->nego_req_info.peer_ch);
26442638
2645
- attr_contentlen = sizeof(pwdinfo->p2p_peer_interface_addr);
2639
+ attr_contentlen = 0;
26462640 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_INTENDED_IF_ADDR, pwdinfo->p2p_peer_interface_addr, &attr_contentlen)) {
26472641 if (attr_contentlen != ETH_ALEN)
26482642 _rtw_memset(pwdinfo->p2p_peer_interface_addr, 0x00, ETH_ALEN);
26492643 }
26502644
2651
- ch_cnt = sizeof(ch_content);
26522645 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_CH_LIST, ch_content, &ch_cnt)) {
26532646 peer_ch_num = rtw_p2p_get_peer_ch_list(pwdinfo, ch_content, ch_cnt, peer_ch_list);
26542647 ch_num_inclusioned = rtw_p2p_ch_inclusion(padapter, peer_ch_list, peer_ch_num, ch_list_inclusioned);
....@@ -2674,8 +2667,8 @@
26742667 #endif /* CONFIG_CONCURRENT_MODE */
26752668 {
26762669 u8 operatingch_info[5] = { 0x00 }, peer_operating_ch = 0;
2670
+ attr_contentlen = 0;
26772671
2678
- attr_contentlen = sizeof(operatingch_info);
26792672 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_OPERATING_CH, operatingch_info, &attr_contentlen))
26802673 peer_operating_ch = operatingch_info[4];
26812674
....@@ -2761,7 +2754,6 @@
27612754 while (p2p_ie) { /* Found the P2P IE. */
27622755
27632756 /* Check P2P Capability ATTR */
2764
- attr_contentlen = sizeof(cap_attr);
27652757 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_CAPABILITY, (u8 *)&cap_attr, (uint *)&attr_contentlen)) {
27662758 cap_attr = le16_to_cpu(cap_attr);
27672759 #ifdef CONFIG_TDLS
....@@ -2770,7 +2762,6 @@
27702762 #endif /* CONFIG_TDLS */
27712763 }
27722764
2773
- attr_contentlen = sizeof(attr_content);
27742765 rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_STATUS, &attr_content, &attr_contentlen);
27752766 if (attr_contentlen == 1) {
27762767 RTW_INFO("[%s] Status = %d\n", __FUNCTION__, attr_content);
....@@ -2788,7 +2779,7 @@
27882779 }
27892780
27902781 /* Try to get the peer's interface address */
2791
- attr_contentlen = sizeof(pwdinfo->p2p_peer_interface_addr);
2782
+ attr_contentlen = 0;
27922783 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_INTENDED_IF_ADDR, pwdinfo->p2p_peer_interface_addr, &attr_contentlen)) {
27932784 if (attr_contentlen != ETH_ALEN)
27942785 _rtw_memset(pwdinfo->p2p_peer_interface_addr, 0x00, ETH_ALEN);
....@@ -2796,7 +2787,7 @@
27962787
27972788 /* Try to get the peer's intent and tie breaker value. */
27982789 attr_content = 0x00;
2799
- attr_contentlen = sizeof(attr_content);
2790
+ attr_contentlen = 0;
28002791 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_GO_INTENT , &attr_content, &attr_contentlen)) {
28012792 RTW_INFO("[%s] GO Intent = %d, tie = %d\n", __FUNCTION__, attr_content >> 1, attr_content & 0x01);
28022793 pwdinfo->peer_intent = attr_content; /* include both intent and tie breaker values. */
....@@ -2835,14 +2826,13 @@
28352826
28362827 /* Try to get the operation channel information */
28372828
2838
- attr_contentlen = sizeof(operatingch_info);
2829
+ attr_contentlen = 0;
28392830 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_OPERATING_CH, operatingch_info, &attr_contentlen)) {
28402831 RTW_INFO("[%s] Peer's operating channel = %d\n", __FUNCTION__, operatingch_info[4]);
28412832 pwdinfo->peer_operating_ch = operatingch_info[4];
28422833 }
28432834
28442835 /* Try to get the channel list information */
2845
- pwdinfo->channel_list_attr_len = sizeof(pwdinfo->channel_list_attr);
28462836 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_CH_LIST, pwdinfo->channel_list_attr, &pwdinfo->channel_list_attr_len)) {
28472837 RTW_INFO("[%s] channel list attribute found, len = %d\n", __FUNCTION__, pwdinfo->channel_list_attr_len);
28482838
....@@ -2870,7 +2860,7 @@
28702860 #endif /* CONFIG_CONCURRENT_MODE */
28712861 {
28722862 u8 operatingch_info[5] = { 0x00 }, peer_operating_ch = 0;
2873
- attr_contentlen = sizeof(operatingch_info);
2863
+ attr_contentlen = 0;
28742864
28752865 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_OPERATING_CH, operatingch_info, &attr_contentlen))
28762866 peer_operating_ch = operatingch_info[4];
....@@ -2896,8 +2886,8 @@
28962886 RTW_INFO("[%s] channel list attribute not found!\n", __FUNCTION__);
28972887
28982888 /* Try to get the group id information if peer is GO */
2889
+ attr_contentlen = 0;
28992890 _rtw_memset(groupid, 0x00, 38);
2900
- attr_contentlen = sizeof(groupid);
29012891 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_GROUP_ID, groupid, &attr_contentlen)) {
29022892 _rtw_memcpy(pwdinfo->groupid_info.go_device_addr, &groupid[0], ETH_ALEN);
29032893 _rtw_memcpy(pwdinfo->groupid_info.ssid, &groupid[6], attr_contentlen - ETH_ALEN);
....@@ -2938,7 +2928,6 @@
29382928 u32 attr_contentlen = 0;
29392929
29402930 pwdinfo->negotiation_dialog_token = 1;
2941
- attr_contentlen = sizeof(attr_content);
29422931 rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_STATUS, &attr_content, &attr_contentlen);
29432932 if (attr_contentlen == 1) {
29442933 RTW_INFO("[%s] Status = %d\n", __FUNCTION__, attr_content);
....@@ -2979,15 +2968,15 @@
29792968 }
29802969
29812970 /* Try to get the group id information */
2971
+ attr_contentlen = 0;
29822972 _rtw_memset(groupid, 0x00, 38);
2983
- attr_contentlen = sizeof(groupid);
29842973 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_GROUP_ID, groupid, &attr_contentlen)) {
29852974 RTW_INFO("[%s] Ssid = %s, ssidlen = %zu\n", __FUNCTION__, &groupid[ETH_ALEN], strlen(&groupid[ETH_ALEN]));
29862975 _rtw_memcpy(pwdinfo->groupid_info.go_device_addr, &groupid[0], ETH_ALEN);
29872976 _rtw_memcpy(pwdinfo->groupid_info.ssid, &groupid[6], attr_contentlen - ETH_ALEN);
29882977 }
29892978
2990
- attr_contentlen = sizeof(operatingch_info);
2979
+ attr_contentlen = 0;
29912980 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_OPERATING_CH, operatingch_info, &attr_contentlen)) {
29922981 RTW_INFO("[%s] Peer's operating channel = %d\n", __FUNCTION__, operatingch_info[4]);
29932982 pwdinfo->peer_operating_ch = operatingch_info[4];
....@@ -4026,7 +4015,6 @@
40264015
40274016 while (p2p_ie) {
40284017 /* Get P2P Manageability IE. */
4029
- attr_contentlen = sizeof(p2p_attr);
40304018 if (rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_MANAGEABILITY, p2p_attr, &attr_contentlen)) {
40314019 if ((p2p_attr[0] & (BIT(0) | BIT(1))) == 0x01)
40324020 ret = _FALSE;