Search Linux Wireless

Re: [PATCH 07/15] wireless: align HE capabilities A-MPDU Length Exponent Extension

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Luca,

I love your patch! Yet something to improve:

[auto build test ERROR on mac80211-next/master]
[also build test ERROR on mac80211/master wireless-drivers-next/master wireless-drivers/master v5.12-rc6 next-20210409]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Luca-Coelho/cfg80211-mac80211-patches-from-our-internal-tree-2021-04-09/20210409-181210
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: x86_64-randconfig-a006-20210409 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project dd453a1389b6a7e6d9214b449d3c54981b1a89b6)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/14d0d9bb385498f53ad9d73ebac33c6ef919be7c
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Luca-Coelho/cfg80211-mac80211-patches-from-our-internal-tree-2021-04-09/20210409-181210
        git checkout 14d0d9bb385498f53ad9d73ebac33c6ef919be7c
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/net/wireless/ath/ath11k/mac.c:1270:4: error: use of undeclared identifier 'IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT'
                           IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT;
                           ^
   drivers/net/wireless/ath/ath11k/mac.c:3810:6: error: use of undeclared identifier 'IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECVITE_TRANSMISSION'
           m = IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECVITE_TRANSMISSION |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3820:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA'
           m = IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3832:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB'
               IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3837:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP7_SRP_BASED_SR'
           m = IEEE80211_HE_PHY_CAP7_SRP_BASED_SR |
               ^
   drivers/net/wireless/ath/ath11k/mac.c:3838:6: error: use of undeclared identifier 'IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR'
               IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR |
               ^
   6 errors generated.


vim +/IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT +1270 drivers/net/wireless/ath/ath11k/mac.c

d5c65159f28953 Kalle Valo          2019-11-23  1233  
d5c65159f28953 Kalle Valo          2019-11-23  1234  static void ath11k_peer_assoc_h_he(struct ath11k *ar,
d5c65159f28953 Kalle Valo          2019-11-23  1235  				   struct ieee80211_vif *vif,
d5c65159f28953 Kalle Valo          2019-11-23  1236  				   struct ieee80211_sta *sta,
d5c65159f28953 Kalle Valo          2019-11-23  1237  				   struct peer_assoc_params *arg)
d5c65159f28953 Kalle Valo          2019-11-23  1238  {
9f056ed8ee01ad John Crispin        2019-11-25  1239  	const struct ieee80211_sta_he_cap *he_cap = &sta->he_cap;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1240  	u8 ampdu_factor;
9f056ed8ee01ad John Crispin        2019-11-25  1241  	u16 v;
9f056ed8ee01ad John Crispin        2019-11-25  1242  
9f056ed8ee01ad John Crispin        2019-11-25  1243  	if (!he_cap->has_he)
9f056ed8ee01ad John Crispin        2019-11-25  1244  		return;
9f056ed8ee01ad John Crispin        2019-11-25  1245  
9f056ed8ee01ad John Crispin        2019-11-25  1246  	arg->he_flag = true;
9f056ed8ee01ad John Crispin        2019-11-25  1247  
9f056ed8ee01ad John Crispin        2019-11-25  1248  	memcpy(&arg->peer_he_cap_macinfo, he_cap->he_cap_elem.mac_cap_info,
9f056ed8ee01ad John Crispin        2019-11-25  1249  	       sizeof(arg->peer_he_cap_macinfo));
9f056ed8ee01ad John Crispin        2019-11-25  1250  	memcpy(&arg->peer_he_cap_phyinfo, he_cap->he_cap_elem.phy_cap_info,
9f056ed8ee01ad John Crispin        2019-11-25  1251  	       sizeof(arg->peer_he_cap_phyinfo));
60689de46c7f6a Rajkumar Manoharan  2020-04-24  1252  	arg->peer_he_ops = vif->bss_conf.he_oper.params;
9f056ed8ee01ad John Crispin        2019-11-25  1253  
9f056ed8ee01ad John Crispin        2019-11-25  1254  	/* the top most byte is used to indicate BSS color info */
9f056ed8ee01ad John Crispin        2019-11-25  1255  	arg->peer_he_ops &= 0xffffff;
9f056ed8ee01ad John Crispin        2019-11-25  1256  
af6d39db1b046a Tamizh Chelvam      2020-09-08  1257  	/* As per section 26.6.1 11ax Draft5.0, if the Max AMPDU Exponent Extension
af6d39db1b046a Tamizh Chelvam      2020-09-08  1258  	 * in HE cap is zero, use the arg->peer_max_mpdu as calculated while parsing
af6d39db1b046a Tamizh Chelvam      2020-09-08  1259  	 * VHT caps(if VHT caps is present) or HT caps (if VHT caps is not present).
af6d39db1b046a Tamizh Chelvam      2020-09-08  1260  	 *
af6d39db1b046a Tamizh Chelvam      2020-09-08  1261  	 * For non-zero value of Max AMPDU Extponent Extension in HE MAC caps,
af6d39db1b046a Tamizh Chelvam      2020-09-08  1262  	 * if a HE STA sends VHT cap and HE cap IE in assoc request then, use
af6d39db1b046a Tamizh Chelvam      2020-09-08  1263  	 * MAX_AMPDU_LEN_FACTOR as 20 to calculate max_ampdu length.
af6d39db1b046a Tamizh Chelvam      2020-09-08  1264  	 * If a HE STA that does not send VHT cap, but HE and HT cap in assoc
af6d39db1b046a Tamizh Chelvam      2020-09-08  1265  	 * request, then use MAX_AMPDU_LEN_FACTOR as 16 to calculate max_ampdu
af6d39db1b046a Tamizh Chelvam      2020-09-08  1266  	 * length.
af6d39db1b046a Tamizh Chelvam      2020-09-08  1267  	 */
af6d39db1b046a Tamizh Chelvam      2020-09-08  1268  	ampdu_factor = (he_cap->he_cap_elem.mac_cap_info[3] &
af6d39db1b046a Tamizh Chelvam      2020-09-08  1269  			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK) >>
af6d39db1b046a Tamizh Chelvam      2020-09-08 @1270  			IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1271  
af6d39db1b046a Tamizh Chelvam      2020-09-08  1272  	if (ampdu_factor) {
af6d39db1b046a Tamizh Chelvam      2020-09-08  1273  		if (sta->vht_cap.vht_supported)
af6d39db1b046a Tamizh Chelvam      2020-09-08  1274  			arg->peer_max_mpdu = (1 << (IEEE80211_HE_VHT_MAX_AMPDU_FACTOR +
af6d39db1b046a Tamizh Chelvam      2020-09-08  1275  						    ampdu_factor)) - 1;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1276  		else if (sta->ht_cap.ht_supported)
af6d39db1b046a Tamizh Chelvam      2020-09-08  1277  			arg->peer_max_mpdu = (1 << (IEEE80211_HE_HT_MAX_AMPDU_FACTOR +
af6d39db1b046a Tamizh Chelvam      2020-09-08  1278  						    ampdu_factor)) - 1;
af6d39db1b046a Tamizh Chelvam      2020-09-08  1279  	}
af6d39db1b046a Tamizh Chelvam      2020-09-08  1280  
9f056ed8ee01ad John Crispin        2019-11-25  1281  	if (he_cap->he_cap_elem.phy_cap_info[6] &
9f056ed8ee01ad John Crispin        2019-11-25  1282  	    IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT) {
9f056ed8ee01ad John Crispin        2019-11-25  1283  		int bit = 7;
9f056ed8ee01ad John Crispin        2019-11-25  1284  		int nss, ru;
9f056ed8ee01ad John Crispin        2019-11-25  1285  
9f056ed8ee01ad John Crispin        2019-11-25  1286  		arg->peer_ppet.numss_m1 = he_cap->ppe_thres[0] &
9f056ed8ee01ad John Crispin        2019-11-25  1287  					  IEEE80211_PPE_THRES_NSS_MASK;
9f056ed8ee01ad John Crispin        2019-11-25  1288  		arg->peer_ppet.ru_bit_mask =
9f056ed8ee01ad John Crispin        2019-11-25  1289  			(he_cap->ppe_thres[0] &
9f056ed8ee01ad John Crispin        2019-11-25  1290  			 IEEE80211_PPE_THRES_RU_INDEX_BITMASK_MASK) >>
9f056ed8ee01ad John Crispin        2019-11-25  1291  			IEEE80211_PPE_THRES_RU_INDEX_BITMASK_POS;
9f056ed8ee01ad John Crispin        2019-11-25  1292  
9f056ed8ee01ad John Crispin        2019-11-25  1293  		for (nss = 0; nss <= arg->peer_ppet.numss_m1; nss++) {
9f056ed8ee01ad John Crispin        2019-11-25  1294  			for (ru = 0; ru < 4; ru++) {
9f056ed8ee01ad John Crispin        2019-11-25  1295  				u32 val = 0;
9f056ed8ee01ad John Crispin        2019-11-25  1296  				int i;
9f056ed8ee01ad John Crispin        2019-11-25  1297  
9f056ed8ee01ad John Crispin        2019-11-25  1298  				if ((arg->peer_ppet.ru_bit_mask & BIT(ru)) == 0)
9f056ed8ee01ad John Crispin        2019-11-25  1299  					continue;
9f056ed8ee01ad John Crispin        2019-11-25  1300  				for (i = 0; i < 6; i++) {
9f056ed8ee01ad John Crispin        2019-11-25  1301  					val >>= 1;
9f056ed8ee01ad John Crispin        2019-11-25  1302  					val |= ((he_cap->ppe_thres[bit / 8] >>
9f056ed8ee01ad John Crispin        2019-11-25  1303  						 (bit % 8)) & 0x1) << 5;
9f056ed8ee01ad John Crispin        2019-11-25  1304  					bit++;
9f056ed8ee01ad John Crispin        2019-11-25  1305  				}
9f056ed8ee01ad John Crispin        2019-11-25  1306  				arg->peer_ppet.ppet16_ppet8_ru3_ru0[nss] |=
9f056ed8ee01ad John Crispin        2019-11-25  1307  								val << (ru * 6);
9f056ed8ee01ad John Crispin        2019-11-25  1308  			}
9f056ed8ee01ad John Crispin        2019-11-25  1309  		}
9f056ed8ee01ad John Crispin        2019-11-25  1310  	}
9f056ed8ee01ad John Crispin        2019-11-25  1311  
6d293d447670da John Crispin        2019-11-25  1312  	if (he_cap->he_cap_elem.mac_cap_info[0] & IEEE80211_HE_MAC_CAP0_TWT_RES)
6d293d447670da John Crispin        2019-11-25  1313  		arg->twt_responder = true;
6d293d447670da John Crispin        2019-11-25  1314  	if (he_cap->he_cap_elem.mac_cap_info[0] & IEEE80211_HE_MAC_CAP0_TWT_REQ)
6d293d447670da John Crispin        2019-11-25  1315  		arg->twt_requester = true;
6d293d447670da John Crispin        2019-11-25  1316  
9f056ed8ee01ad John Crispin        2019-11-25  1317  	switch (sta->bandwidth) {
9f056ed8ee01ad John Crispin        2019-11-25  1318  	case IEEE80211_STA_RX_BW_160:
9f056ed8ee01ad John Crispin        2019-11-25  1319  		if (he_cap->he_cap_elem.phy_cap_info[0] &
9f056ed8ee01ad John Crispin        2019-11-25  1320  		    IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G) {
9f056ed8ee01ad John Crispin        2019-11-25  1321  			v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80p80);
9f056ed8ee01ad John Crispin        2019-11-25  1322  			arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1323  
9f056ed8ee01ad John Crispin        2019-11-25  1324  			v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80p80);
9f056ed8ee01ad John Crispin        2019-11-25  1325  			arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1326  
9f056ed8ee01ad John Crispin        2019-11-25  1327  			arg->peer_he_mcs_count++;
9f056ed8ee01ad John Crispin        2019-11-25  1328  		}
9f056ed8ee01ad John Crispin        2019-11-25  1329  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_160);
9f056ed8ee01ad John Crispin        2019-11-25  1330  		arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1331  
9f056ed8ee01ad John Crispin        2019-11-25  1332  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_160);
9f056ed8ee01ad John Crispin        2019-11-25  1333  		arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1334  
9f056ed8ee01ad John Crispin        2019-11-25  1335  		arg->peer_he_mcs_count++;
0b294aebb6a00b Gustavo A. R. Silva 2020-07-27  1336  		fallthrough;
9f056ed8ee01ad John Crispin        2019-11-25  1337  
9f056ed8ee01ad John Crispin        2019-11-25  1338  	default:
9f056ed8ee01ad John Crispin        2019-11-25  1339  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80);
9f056ed8ee01ad John Crispin        2019-11-25  1340  		arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1341  
9f056ed8ee01ad John Crispin        2019-11-25  1342  		v = le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80);
9f056ed8ee01ad John Crispin        2019-11-25  1343  		arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
9f056ed8ee01ad John Crispin        2019-11-25  1344  
9f056ed8ee01ad John Crispin        2019-11-25  1345  		arg->peer_he_mcs_count++;
9f056ed8ee01ad John Crispin        2019-11-25  1346  		break;
9f056ed8ee01ad John Crispin        2019-11-25  1347  	}
d5c65159f28953 Kalle Valo          2019-11-23  1348  }
d5c65159f28953 Kalle Valo          2019-11-23  1349  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux