From: kernel test robot <lkp@intel.com>
To: "Toke Høiland-Jørgensen" <toke@redhat.com>,
linux-wireless@vger.kernel.org
Cc: kbuild-all@lists.01.org,
"Toke Høiland-Jørgensen" <toke@redhat.com>,
make-wifi-fast@lists.bufferbloat.net,
"Felix Fietkau" <nbd@nbd.name>,
"Rajkumar Manoharan" <rmanohar@codeaurora.org>,
"Kan Yan" <kyan@google.com>, "Yibo Zhao" <yiboz@codeaurora.org>
Subject: Re: [PATCH mac80211-next v6] mac80211: Switch to a virtual time-based airtime scheduler
Date: Fri, 19 Mar 2021 07:31:51 +0800 [thread overview]
Message-ID: <202103190733.EbIgIv5z-lkp@intel.com> (raw)
In-Reply-To: <20210318213142.138707-1-toke@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 9879 bytes --]
Hi "Toke,
I love your patch! Perhaps something to improve:
[auto build test WARNING on mac80211-next/master]
url: https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/mac80211-Switch-to-a-virtual-time-based-airtime-scheduler/20210319-053617
base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.3.0
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
# https://github.com/0day-ci/linux/commit/23d429aa540736e04237eb11c63c03d929653774
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Toke-H-iland-J-rgensen/mac80211-Switch-to-a-virtual-time-based-airtime-scheduler/20210319-053617
git checkout 23d429aa540736e04237eb11c63c03d929653774
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
net/mac80211/cfg.c: In function 'sta_apply_parameters':
>> net/mac80211/cfg.c:1452:26: warning: variable 'old_weight' set but not used [-Wunused-but-set-variable]
1452 | u32 mask, set, tid, ac, old_weight;
| ^~~~~~~~~~
vim +/old_weight +1452 net/mac80211/cfg.c
1444
1445 static int sta_apply_parameters(struct ieee80211_local *local,
1446 struct sta_info *sta,
1447 struct station_parameters *params)
1448 {
1449 int ret = 0;
1450 struct ieee80211_supported_band *sband;
1451 struct ieee80211_sub_if_data *sdata = sta->sdata;
> 1452 u32 mask, set, tid, ac, old_weight;
1453 struct txq_info *txqi;
1454
1455 sband = ieee80211_get_sband(sdata);
1456 if (!sband)
1457 return -EINVAL;
1458
1459 mask = params->sta_flags_mask;
1460 set = params->sta_flags_set;
1461
1462 if (ieee80211_vif_is_mesh(&sdata->vif)) {
1463 /*
1464 * In mesh mode, ASSOCIATED isn't part of the nl80211
1465 * API but must follow AUTHENTICATED for driver state.
1466 */
1467 if (mask & BIT(NL80211_STA_FLAG_AUTHENTICATED))
1468 mask |= BIT(NL80211_STA_FLAG_ASSOCIATED);
1469 if (set & BIT(NL80211_STA_FLAG_AUTHENTICATED))
1470 set |= BIT(NL80211_STA_FLAG_ASSOCIATED);
1471 } else if (test_sta_flag(sta, WLAN_STA_TDLS_PEER)) {
1472 /*
1473 * TDLS -- everything follows authorized, but
1474 * only becoming authorized is possible, not
1475 * going back
1476 */
1477 if (set & BIT(NL80211_STA_FLAG_AUTHORIZED)) {
1478 set |= BIT(NL80211_STA_FLAG_AUTHENTICATED) |
1479 BIT(NL80211_STA_FLAG_ASSOCIATED);
1480 mask |= BIT(NL80211_STA_FLAG_AUTHENTICATED) |
1481 BIT(NL80211_STA_FLAG_ASSOCIATED);
1482 }
1483 }
1484
1485 if (mask & BIT(NL80211_STA_FLAG_WME) &&
1486 local->hw.queues >= IEEE80211_NUM_ACS)
1487 sta->sta.wme = set & BIT(NL80211_STA_FLAG_WME);
1488
1489 /* auth flags will be set later for TDLS,
1490 * and for unassociated stations that move to assocaited */
1491 if (!test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
1492 !((mask & BIT(NL80211_STA_FLAG_ASSOCIATED)) &&
1493 (set & BIT(NL80211_STA_FLAG_ASSOCIATED)))) {
1494 ret = sta_apply_auth_flags(local, sta, mask, set);
1495 if (ret)
1496 return ret;
1497 }
1498
1499 if (mask & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE)) {
1500 if (set & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE))
1501 set_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE);
1502 else
1503 clear_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE);
1504 }
1505
1506 if (mask & BIT(NL80211_STA_FLAG_MFP)) {
1507 sta->sta.mfp = !!(set & BIT(NL80211_STA_FLAG_MFP));
1508 if (set & BIT(NL80211_STA_FLAG_MFP))
1509 set_sta_flag(sta, WLAN_STA_MFP);
1510 else
1511 clear_sta_flag(sta, WLAN_STA_MFP);
1512 }
1513
1514 if (mask & BIT(NL80211_STA_FLAG_TDLS_PEER)) {
1515 if (set & BIT(NL80211_STA_FLAG_TDLS_PEER))
1516 set_sta_flag(sta, WLAN_STA_TDLS_PEER);
1517 else
1518 clear_sta_flag(sta, WLAN_STA_TDLS_PEER);
1519 }
1520
1521 /* mark TDLS channel switch support, if the AP allows it */
1522 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
1523 !sdata->u.mgd.tdls_chan_switch_prohibited &&
1524 params->ext_capab_len >= 4 &&
1525 params->ext_capab[3] & WLAN_EXT_CAPA4_TDLS_CHAN_SWITCH)
1526 set_sta_flag(sta, WLAN_STA_TDLS_CHAN_SWITCH);
1527
1528 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
1529 !sdata->u.mgd.tdls_wider_bw_prohibited &&
1530 ieee80211_hw_check(&local->hw, TDLS_WIDER_BW) &&
1531 params->ext_capab_len >= 8 &&
1532 params->ext_capab[7] & WLAN_EXT_CAPA8_TDLS_WIDE_BW_ENABLED)
1533 set_sta_flag(sta, WLAN_STA_TDLS_WIDER_BW);
1534
1535 if (params->sta_modify_mask & STATION_PARAM_APPLY_UAPSD) {
1536 sta->sta.uapsd_queues = params->uapsd_queues;
1537 sta->sta.max_sp = params->max_sp;
1538 }
1539
1540 /* The sender might not have sent the last bit, consider it to be 0 */
1541 if (params->ext_capab_len >= 8) {
1542 u8 val = (params->ext_capab[7] &
1543 WLAN_EXT_CAPA8_MAX_MSDU_IN_AMSDU_LSB) >> 7;
1544
1545 /* we did get all the bits, take the MSB as well */
1546 if (params->ext_capab_len >= 9) {
1547 u8 val_msb = params->ext_capab[8] &
1548 WLAN_EXT_CAPA9_MAX_MSDU_IN_AMSDU_MSB;
1549 val_msb <<= 1;
1550 val |= val_msb;
1551 }
1552
1553 switch (val) {
1554 case 1:
1555 sta->sta.max_amsdu_subframes = 32;
1556 break;
1557 case 2:
1558 sta->sta.max_amsdu_subframes = 16;
1559 break;
1560 case 3:
1561 sta->sta.max_amsdu_subframes = 8;
1562 break;
1563 default:
1564 sta->sta.max_amsdu_subframes = 0;
1565 }
1566 }
1567
1568 /*
1569 * cfg80211 validates this (1-2007) and allows setting the AID
1570 * only when creating a new station entry
1571 */
1572 if (params->aid)
1573 sta->sta.aid = params->aid;
1574
1575 /*
1576 * Some of the following updates would be racy if called on an
1577 * existing station, via ieee80211_change_station(). However,
1578 * all such changes are rejected by cfg80211 except for updates
1579 * changing the supported rates on an existing but not yet used
1580 * TDLS peer.
1581 */
1582
1583 if (params->listen_interval >= 0)
1584 sta->listen_interval = params->listen_interval;
1585
1586 if (params->sta_modify_mask & STATION_PARAM_APPLY_STA_TXPOWER) {
1587 sta->sta.txpwr.type = params->txpwr.type;
1588 if (params->txpwr.type == NL80211_TX_POWER_LIMITED)
1589 sta->sta.txpwr.power = params->txpwr.power;
1590 ret = drv_sta_set_txpwr(local, sdata, sta);
1591 if (ret)
1592 return ret;
1593 }
1594
1595 if (params->supported_rates && params->supported_rates_len) {
1596 ieee80211_parse_bitrates(&sdata->vif.bss_conf.chandef,
1597 sband, params->supported_rates,
1598 params->supported_rates_len,
1599 &sta->sta.supp_rates[sband->band]);
1600 }
1601
1602 if (params->ht_capa)
1603 ieee80211_ht_cap_ie_to_sta_ht_cap(sdata, sband,
1604 params->ht_capa, sta);
1605
1606 /* VHT can override some HT caps such as the A-MSDU max length */
1607 if (params->vht_capa)
1608 ieee80211_vht_cap_ie_to_sta_vht_cap(sdata, sband,
1609 params->vht_capa, sta);
1610
1611 if (params->he_capa)
1612 ieee80211_he_cap_ie_to_sta_he_cap(sdata, sband,
1613 (void *)params->he_capa,
1614 params->he_capa_len,
1615 (void *)params->he_6ghz_capa,
1616 sta);
1617
1618 if (params->opmode_notif_used) {
1619 /* returned value is only needed for rc update, but the
1620 * rc isn't initialized here yet, so ignore it
1621 */
1622 __ieee80211_vht_handle_opmode(sdata, sta, params->opmode_notif,
1623 sband->band);
1624 }
1625
1626 if (params->support_p2p_ps >= 0)
1627 sta->sta.support_p2p_ps = params->support_p2p_ps;
1628
1629 if (ieee80211_vif_is_mesh(&sdata->vif))
1630 sta_apply_mesh_params(local, sta, params);
1631
1632 if (params->airtime_weight) {
1633 for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
1634 struct airtime_sched_info *air_sched = &local->airtime[ac];
1635 struct airtime_info *air_info = &sta->airtime[ac];
1636
1637 spin_lock_bh(&air_sched->lock);
1638 for (tid = 0; tid < IEEE80211_NUM_TIDS + 1; tid++) {
1639 if (air_info->weight == params->airtime_weight ||
1640 !sta->sta.txq[tid] ||
1641 ac != ieee80211_ac_from_tid(tid))
1642 continue;
1643
1644 old_weight = air_info->weight;
1645 airtime_weight_set(air_info, params->airtime_weight);
1646
1647 txqi = to_txq_info(sta->sta.txq[tid]);
1648 if (RB_EMPTY_NODE(&txqi->schedule_order))
1649 continue;
1650
1651 ieee80211_update_airtime_weight(local, air_sched, 0, true);
1652 }
1653 spin_unlock_bh(&air_sched->lock);
1654 }
1655 }
1656
1657 /* set the STA state after all sta info from usermode has been set */
1658 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) ||
1659 set & BIT(NL80211_STA_FLAG_ASSOCIATED)) {
1660 ret = sta_apply_auth_flags(local, sta, mask, set);
1661 if (ret)
1662 return ret;
1663 }
1664
1665 return 0;
1666 }
1667
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 67129 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH mac80211-next v6] mac80211: Switch to a virtual time-based airtime scheduler
Date: Fri, 19 Mar 2021 07:31:51 +0800 [thread overview]
Message-ID: <202103190733.EbIgIv5z-lkp@intel.com> (raw)
In-Reply-To: <20210318213142.138707-1-toke@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 10142 bytes --]
Hi "Toke,
I love your patch! Perhaps something to improve:
[auto build test WARNING on mac80211-next/master]
url: https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/mac80211-Switch-to-a-virtual-time-based-airtime-scheduler/20210319-053617
base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.3.0
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
# https://github.com/0day-ci/linux/commit/23d429aa540736e04237eb11c63c03d929653774
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Toke-H-iland-J-rgensen/mac80211-Switch-to-a-virtual-time-based-airtime-scheduler/20210319-053617
git checkout 23d429aa540736e04237eb11c63c03d929653774
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
net/mac80211/cfg.c: In function 'sta_apply_parameters':
>> net/mac80211/cfg.c:1452:26: warning: variable 'old_weight' set but not used [-Wunused-but-set-variable]
1452 | u32 mask, set, tid, ac, old_weight;
| ^~~~~~~~~~
vim +/old_weight +1452 net/mac80211/cfg.c
1444
1445 static int sta_apply_parameters(struct ieee80211_local *local,
1446 struct sta_info *sta,
1447 struct station_parameters *params)
1448 {
1449 int ret = 0;
1450 struct ieee80211_supported_band *sband;
1451 struct ieee80211_sub_if_data *sdata = sta->sdata;
> 1452 u32 mask, set, tid, ac, old_weight;
1453 struct txq_info *txqi;
1454
1455 sband = ieee80211_get_sband(sdata);
1456 if (!sband)
1457 return -EINVAL;
1458
1459 mask = params->sta_flags_mask;
1460 set = params->sta_flags_set;
1461
1462 if (ieee80211_vif_is_mesh(&sdata->vif)) {
1463 /*
1464 * In mesh mode, ASSOCIATED isn't part of the nl80211
1465 * API but must follow AUTHENTICATED for driver state.
1466 */
1467 if (mask & BIT(NL80211_STA_FLAG_AUTHENTICATED))
1468 mask |= BIT(NL80211_STA_FLAG_ASSOCIATED);
1469 if (set & BIT(NL80211_STA_FLAG_AUTHENTICATED))
1470 set |= BIT(NL80211_STA_FLAG_ASSOCIATED);
1471 } else if (test_sta_flag(sta, WLAN_STA_TDLS_PEER)) {
1472 /*
1473 * TDLS -- everything follows authorized, but
1474 * only becoming authorized is possible, not
1475 * going back
1476 */
1477 if (set & BIT(NL80211_STA_FLAG_AUTHORIZED)) {
1478 set |= BIT(NL80211_STA_FLAG_AUTHENTICATED) |
1479 BIT(NL80211_STA_FLAG_ASSOCIATED);
1480 mask |= BIT(NL80211_STA_FLAG_AUTHENTICATED) |
1481 BIT(NL80211_STA_FLAG_ASSOCIATED);
1482 }
1483 }
1484
1485 if (mask & BIT(NL80211_STA_FLAG_WME) &&
1486 local->hw.queues >= IEEE80211_NUM_ACS)
1487 sta->sta.wme = set & BIT(NL80211_STA_FLAG_WME);
1488
1489 /* auth flags will be set later for TDLS,
1490 * and for unassociated stations that move to assocaited */
1491 if (!test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
1492 !((mask & BIT(NL80211_STA_FLAG_ASSOCIATED)) &&
1493 (set & BIT(NL80211_STA_FLAG_ASSOCIATED)))) {
1494 ret = sta_apply_auth_flags(local, sta, mask, set);
1495 if (ret)
1496 return ret;
1497 }
1498
1499 if (mask & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE)) {
1500 if (set & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE))
1501 set_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE);
1502 else
1503 clear_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE);
1504 }
1505
1506 if (mask & BIT(NL80211_STA_FLAG_MFP)) {
1507 sta->sta.mfp = !!(set & BIT(NL80211_STA_FLAG_MFP));
1508 if (set & BIT(NL80211_STA_FLAG_MFP))
1509 set_sta_flag(sta, WLAN_STA_MFP);
1510 else
1511 clear_sta_flag(sta, WLAN_STA_MFP);
1512 }
1513
1514 if (mask & BIT(NL80211_STA_FLAG_TDLS_PEER)) {
1515 if (set & BIT(NL80211_STA_FLAG_TDLS_PEER))
1516 set_sta_flag(sta, WLAN_STA_TDLS_PEER);
1517 else
1518 clear_sta_flag(sta, WLAN_STA_TDLS_PEER);
1519 }
1520
1521 /* mark TDLS channel switch support, if the AP allows it */
1522 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
1523 !sdata->u.mgd.tdls_chan_switch_prohibited &&
1524 params->ext_capab_len >= 4 &&
1525 params->ext_capab[3] & WLAN_EXT_CAPA4_TDLS_CHAN_SWITCH)
1526 set_sta_flag(sta, WLAN_STA_TDLS_CHAN_SWITCH);
1527
1528 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
1529 !sdata->u.mgd.tdls_wider_bw_prohibited &&
1530 ieee80211_hw_check(&local->hw, TDLS_WIDER_BW) &&
1531 params->ext_capab_len >= 8 &&
1532 params->ext_capab[7] & WLAN_EXT_CAPA8_TDLS_WIDE_BW_ENABLED)
1533 set_sta_flag(sta, WLAN_STA_TDLS_WIDER_BW);
1534
1535 if (params->sta_modify_mask & STATION_PARAM_APPLY_UAPSD) {
1536 sta->sta.uapsd_queues = params->uapsd_queues;
1537 sta->sta.max_sp = params->max_sp;
1538 }
1539
1540 /* The sender might not have sent the last bit, consider it to be 0 */
1541 if (params->ext_capab_len >= 8) {
1542 u8 val = (params->ext_capab[7] &
1543 WLAN_EXT_CAPA8_MAX_MSDU_IN_AMSDU_LSB) >> 7;
1544
1545 /* we did get all the bits, take the MSB as well */
1546 if (params->ext_capab_len >= 9) {
1547 u8 val_msb = params->ext_capab[8] &
1548 WLAN_EXT_CAPA9_MAX_MSDU_IN_AMSDU_MSB;
1549 val_msb <<= 1;
1550 val |= val_msb;
1551 }
1552
1553 switch (val) {
1554 case 1:
1555 sta->sta.max_amsdu_subframes = 32;
1556 break;
1557 case 2:
1558 sta->sta.max_amsdu_subframes = 16;
1559 break;
1560 case 3:
1561 sta->sta.max_amsdu_subframes = 8;
1562 break;
1563 default:
1564 sta->sta.max_amsdu_subframes = 0;
1565 }
1566 }
1567
1568 /*
1569 * cfg80211 validates this (1-2007) and allows setting the AID
1570 * only when creating a new station entry
1571 */
1572 if (params->aid)
1573 sta->sta.aid = params->aid;
1574
1575 /*
1576 * Some of the following updates would be racy if called on an
1577 * existing station, via ieee80211_change_station(). However,
1578 * all such changes are rejected by cfg80211 except for updates
1579 * changing the supported rates on an existing but not yet used
1580 * TDLS peer.
1581 */
1582
1583 if (params->listen_interval >= 0)
1584 sta->listen_interval = params->listen_interval;
1585
1586 if (params->sta_modify_mask & STATION_PARAM_APPLY_STA_TXPOWER) {
1587 sta->sta.txpwr.type = params->txpwr.type;
1588 if (params->txpwr.type == NL80211_TX_POWER_LIMITED)
1589 sta->sta.txpwr.power = params->txpwr.power;
1590 ret = drv_sta_set_txpwr(local, sdata, sta);
1591 if (ret)
1592 return ret;
1593 }
1594
1595 if (params->supported_rates && params->supported_rates_len) {
1596 ieee80211_parse_bitrates(&sdata->vif.bss_conf.chandef,
1597 sband, params->supported_rates,
1598 params->supported_rates_len,
1599 &sta->sta.supp_rates[sband->band]);
1600 }
1601
1602 if (params->ht_capa)
1603 ieee80211_ht_cap_ie_to_sta_ht_cap(sdata, sband,
1604 params->ht_capa, sta);
1605
1606 /* VHT can override some HT caps such as the A-MSDU max length */
1607 if (params->vht_capa)
1608 ieee80211_vht_cap_ie_to_sta_vht_cap(sdata, sband,
1609 params->vht_capa, sta);
1610
1611 if (params->he_capa)
1612 ieee80211_he_cap_ie_to_sta_he_cap(sdata, sband,
1613 (void *)params->he_capa,
1614 params->he_capa_len,
1615 (void *)params->he_6ghz_capa,
1616 sta);
1617
1618 if (params->opmode_notif_used) {
1619 /* returned value is only needed for rc update, but the
1620 * rc isn't initialized here yet, so ignore it
1621 */
1622 __ieee80211_vht_handle_opmode(sdata, sta, params->opmode_notif,
1623 sband->band);
1624 }
1625
1626 if (params->support_p2p_ps >= 0)
1627 sta->sta.support_p2p_ps = params->support_p2p_ps;
1628
1629 if (ieee80211_vif_is_mesh(&sdata->vif))
1630 sta_apply_mesh_params(local, sta, params);
1631
1632 if (params->airtime_weight) {
1633 for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
1634 struct airtime_sched_info *air_sched = &local->airtime[ac];
1635 struct airtime_info *air_info = &sta->airtime[ac];
1636
1637 spin_lock_bh(&air_sched->lock);
1638 for (tid = 0; tid < IEEE80211_NUM_TIDS + 1; tid++) {
1639 if (air_info->weight == params->airtime_weight ||
1640 !sta->sta.txq[tid] ||
1641 ac != ieee80211_ac_from_tid(tid))
1642 continue;
1643
1644 old_weight = air_info->weight;
1645 airtime_weight_set(air_info, params->airtime_weight);
1646
1647 txqi = to_txq_info(sta->sta.txq[tid]);
1648 if (RB_EMPTY_NODE(&txqi->schedule_order))
1649 continue;
1650
1651 ieee80211_update_airtime_weight(local, air_sched, 0, true);
1652 }
1653 spin_unlock_bh(&air_sched->lock);
1654 }
1655 }
1656
1657 /* set the STA state after all sta info from usermode has been set */
1658 if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) ||
1659 set & BIT(NL80211_STA_FLAG_ASSOCIATED)) {
1660 ret = sta_apply_auth_flags(local, sta, mask, set);
1661 if (ret)
1662 return ret;
1663 }
1664
1665 return 0;
1666 }
1667
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 67129 bytes --]
next prev parent reply other threads:[~2021-03-18 23:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-18 21:31 [PATCH mac80211-next v6] mac80211: Switch to a virtual time-based airtime scheduler Toke Høiland-Jørgensen
2021-03-18 21:57 ` Felix Fietkau
2021-03-18 22:55 ` Toke Høiland-Jørgensen
2021-03-31 15:07 ` Toke Høiland-Jørgensen
2021-03-18 23:31 ` kernel test robot [this message]
2021-03-18 23:31 ` kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2021-03-20 0:29 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202103190733.EbIgIv5z-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
--cc=kyan@google.com \
--cc=linux-wireless@vger.kernel.org \
--cc=make-wifi-fast@lists.bufferbloat.net \
--cc=nbd@nbd.name \
--cc=rmanohar@codeaurora.org \
--cc=toke@redhat.com \
--cc=yiboz@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.