Re: [PATCH ath-next] wifi: ath12k: allow beacon protection keys to be installed in hardware

kernel test robot
2025-04-21T17:16:52Z

Hi Karthikeyan,

kernel test robot noticed the following build errors:

[auto build test ERROR on d33705bb41ff786b537f8ed50a187a474db111c1]

url: https://github.com/intel-lab-lkp/linux/commits/Karthikeyan-Kathirvel/wifi-ath12k-allow-beacon-protection-keys-to-be-installed-in-hardware/20250421-194813
base: d33705bb41ff786b537f8ed50a187a474db111c1
patch link: https://lore.kernel.org/r/20250421114711.3660911-1-karthikeyan.kathirvel%40oss.qualcomm.com
patch subject: [PATCH ath-next] wifi: ath12k: allow beacon protection keys to be installed in hardware
config: powerpc-randconfig-003-20250421 (https://download.01.org/0day-ci/archive/20250422/202504220128.2KvxCzaG-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250422/202504220128.2KvxCzaG-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504220128.2KvxCzaG-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/net/wireless/ath/ath12k/mac.c:1474:30: error: use of undeclared identifier 'WLAN_EXT_CAPA11_BCN_PROTECT'
1474 | (ext_cap_ie->data[10] & WLAN_EXT_CAPA11_BCN_PROTECT))
| ^
drivers/net/wireless/ath/ath12k/mac.c:1528:11: error: use of undeclared identifier 'WLAN_EXT_CAPA11_BCN_PROTECT'
1528 | WLAN_EXT_CAPA11_BCN_PROTECT))
| ^
2 errors generated.

vim +/WLAN_EXT_CAPA11_BCN_PROTECT +1474 drivers/net/wireless/ath/ath12k/mac.c

1447
1448 static void ath12k_mac_set_arvif_ies(struct ath12k_link_vif *arvif,
1449 struct ath12k_link_vif *tx_arvif,
1450 struct sk_buff *bcn,
1451 u8 bssid_index, bool *nontx_profile_found)
1452 {
1453 struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)bcn->data;
1454 const struct element *elem, *nontx, *index, *nie, *ext_cap_ie;
1455 const u8 *start, *tail;
1456 u16 rem_len;
1457 u8 i;
1458
1459 start = bcn->data + ieee80211_get_hdrlen_from_skb(bcn) + sizeof(mgmt->u.beacon);
1460 tail = skb_tail_pointer(bcn);
1461 rem_len = tail - start;
1462
1463 arvif->rsnie_present = false;
1464 arvif->wpaie_present = false;
1465
1466 if (cfg80211_find_ie(WLAN_EID_RSN, start, rem_len))
1467 arvif->rsnie_present = true;
1468 if (cfg80211_find_vendor_ie(WLAN_OUI_MICROSOFT, WLAN_OUI_TYPE_MICROSOFT_WPA,
1469 start, rem_len))
1470 arvif->wpaie_present = true;
1471
1472 ext_cap_ie = cfg80211_find_elem(WLAN_EID_EXT_CAPABILITY, start, rem_len);
1473 if (ext_cap_ie && ext_cap_ie->datalen >= 11 &&
> 1474 (ext_cap_ie->data[10] & WLAN_EXT_CAPA11_BCN_PROTECT))
1475 tx_arvif->beacon_prot = true;
1476
1477 /* Return from here for the transmitted profile */
1478 if (!bssid_index)
1479 return;
1480
1481 /* Initial rsnie_present for the nontransmitted profile is set to be same as that
1482 * of the transmitted profile. It will be changed if security configurations are
1483 * different.
1484 */
1485 *nontx_profile_found = false;
1486 for_each_element_id(elem, WLAN_EID_MULTIPLE_BSSID, start, rem_len) {
1487 /* Fixed minimum MBSSID element length with at least one
1488 * nontransmitted BSSID profile is 12 bytes as given below;
1489 * 1 (max BSSID indicator) +
1490 * 2 (Nontransmitted BSSID profile: Subelement ID + length) +
1491 * 4 (Nontransmitted BSSID Capabilities: tag + length + info)
1492 * 2 (Nontransmitted BSSID SSID: tag + length)
1493 * 3 (Nontransmitted BSSID Index: tag + length + BSSID index
1494 */
1495 if (elem->datalen < 12 || elem->data[0] < 1)
1496 continue; /* Max BSSID indicator must be >=1 */
1497
1498 for_each_element(nontx, elem->data + 1, elem->datalen - 1) {
1499 start = nontx->data;
1500
1501 if (nontx->id != 0 || nontx->datalen < 4)
1502 continue; /* Invalid nontransmitted profile */
1503
1504 if (nontx->data[0] != WLAN_EID_NON_TX_BSSID_CAP ||
1505 nontx->data[1] != 2) {
1506 continue; /* Missing nontransmitted BSS capabilities */
1507 }
1508
1509 if (nontx->data[4] != WLAN_EID_SSID)
1510 continue; /* Missing SSID for nontransmitted BSS */
1511
1512 index = cfg80211_find_elem(WLAN_EID_MULTI_BSSID_IDX,
1513 start, nontx->datalen);
1514 if (!index || index->datalen < 1 || index->data[0] == 0)
1515 continue; /* Invalid MBSSID Index element */
1516
1517 if (index->data[0] == bssid_index) {
1518 *nontx_profile_found = true;
1519
1520 /* Check if nontx BSS has beacon protection enabled */
1521 if (!tx_arvif->beacon_prot) {
1522 ext_cap_ie =
1523 cfg80211_find_elem(WLAN_EID_EXT_CAPABILITY,
1524 nontx->data,
1525 nontx->datalen);
1526 if (ext_cap_ie && ext_cap_ie->datalen >= 11 &&
1527 (ext_cap_ie->data[10] &
1528 WLAN_EXT_CAPA11_BCN_PROTECT))
1529 tx_arvif->beacon_prot = true;
1530 }
1531
1532 if (cfg80211_find_ie(WLAN_EID_RSN,
1533 nontx->data,
1534 nontx->datalen)) {
1535 arvif->rsnie_present = true;
1536 return;
1537 } else if (!arvif->rsnie_present) {
1538 return; /* Both tx and nontx BSS are open */
1539 }
1540
1541 nie = cfg80211_find_ext_elem(WLAN_EID_EXT_NON_INHERITANCE,
1542 nontx->data,
1543 nontx->datalen);
1544 if (!nie || nie->datalen < 2)
1545 return; /* Invalid non-inheritance element */
1546
1547 for (i = 1; i < nie->datalen - 1; i++) {
1548 if (nie->data[i] == WLAN_EID_RSN) {
1549 arvif->rsnie_present = false;
1550 break;
1551 }
1552 }
1553
1554 return;
1555 }
1556 }
1557 }
1558 }
1559

--
0-DAY CI Kernel Test Service