Hi Felix,
I love your patch! Perhaps something to improve:
[auto build test WARNING on jberg-mac80211-next/master]
[also build test WARNING on v5.15 next-20211112]
[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/Felix-Fietkau/mac80211-fix-throu...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: i386-defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
#
https://github.com/0day-ci/linux/commit/e7c97026e87b3302843d614f414335bef...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Felix-Fietkau/mac80211-fix-throughput-LED-trigger/20211112-185656
git checkout e7c97026e87b3302843d614f414335befbeab31e
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
net/mac80211/tx.c: In function '__ieee80211_tx':
> net/mac80211/tx.c:1732:9: warning: variable 'fc' set but
not used [-Wunused-but-set-variable]
1732 | __le16 fc;
| ^~
vim +/fc +1732 net/mac80211/tx.c
11127e9121d4dd Johannes Berg 2011-11-16 1719
11127e9121d4dd Johannes Berg 2011-11-16 1720 /*
11127e9121d4dd Johannes Berg 2011-11-16 1721 * Returns false if the frame
couldn't be transmitted but was queued instead.
11127e9121d4dd Johannes Berg 2011-11-16 1722 */
11127e9121d4dd Johannes Berg 2011-11-16 1723 static bool __ieee80211_tx(struct
ieee80211_local *local,
e7c97026e87b33 Felix Fietkau 2021-11-12 1724 struct sk_buff_head *skbs,
struct sta_info *sta,
e7c97026e87b33 Felix Fietkau 2021-11-12 1725 bool txpending)
11127e9121d4dd Johannes Berg 2011-11-16 1726 {
11127e9121d4dd Johannes Berg 2011-11-16 1727 struct ieee80211_tx_info *info;
11127e9121d4dd Johannes Berg 2011-11-16 1728 struct ieee80211_sub_if_data
*sdata;
11127e9121d4dd Johannes Berg 2011-11-16 1729 struct ieee80211_vif *vif;
11127e9121d4dd Johannes Berg 2011-11-16 1730 struct sk_buff *skb;
958574cbcc3ae3 Colin Ian King 2021-03-28 1731 bool result;
11127e9121d4dd Johannes Berg 2011-11-16 @1732 __le16 fc;
11127e9121d4dd Johannes Berg 2011-11-16 1733
11127e9121d4dd Johannes Berg 2011-11-16 1734 if (WARN_ON(skb_queue_empty(skbs)))
11127e9121d4dd Johannes Berg 2011-11-16 1735 return true;
11127e9121d4dd Johannes Berg 2011-11-16 1736
11127e9121d4dd Johannes Berg 2011-11-16 1737 skb = skb_peek(skbs);
11127e9121d4dd Johannes Berg 2011-11-16 1738 fc = ((struct ieee80211_hdr
*)skb->data)->frame_control;
11127e9121d4dd Johannes Berg 2011-11-16 1739 info = IEEE80211_SKB_CB(skb);
5061b0c2b9066d Johannes Berg 2009-07-14 1740 sdata =
vif_to_sdata(info->control.vif);
11127e9121d4dd Johannes Berg 2011-11-16 1741 if (sta &&
!sta->uploaded)
11127e9121d4dd Johannes Berg 2011-11-16 1742 sta = NULL;
11127e9121d4dd Johannes Berg 2011-11-16 1743
5061b0c2b9066d Johannes Berg 2009-07-14 1744 switch (sdata->vif.type) {
5061b0c2b9066d Johannes Berg 2009-07-14 1745 case NL80211_IFTYPE_MONITOR:
d82121845d4433 Aviya Erenfeld 2016-08-29 1746 if (sdata->u.mntr.flags &
MONITOR_FLAG_ACTIVE) {
c82b5a74cc7393 Johannes Berg 2013-07-14 1747 vif = &sdata->vif;
c82b5a74cc7393 Johannes Berg 2013-07-14 1748 break;
c82b5a74cc7393 Johannes Berg 2013-07-14 1749 }
4b6f1dd6a6faf4 Johannes Berg 2012-04-03 1750 sdata =
rcu_dereference(local->monitor_sdata);
3a25a8c8b75b43 Johannes Berg 2012-04-03 1751 if (sdata) {
4b6f1dd6a6faf4 Johannes Berg 2012-04-03 1752 vif = &sdata->vif;
3a25a8c8b75b43 Johannes Berg 2012-04-03 1753 info->hw_queue =
3a25a8c8b75b43 Johannes Berg 2012-04-03 1754
vif->hw_queue[skb_get_queue_mapping(skb)];
30686bf7f5b3c3 Johannes Berg 2015-06-02 1755 } else if
(ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) {
63b4d8b3736b83 Johannes Berg 2015-11-24 1756
ieee80211_purge_tx_queue(&local->hw, skbs);
3a25a8c8b75b43 Johannes Berg 2012-04-03 1757 return true;
3a25a8c8b75b43 Johannes Berg 2012-04-03 1758 } else
11127e9121d4dd Johannes Berg 2011-11-16 1759 vif = NULL;
5061b0c2b9066d Johannes Berg 2009-07-14 1760 break;
5061b0c2b9066d Johannes Berg 2009-07-14 1761 case NL80211_IFTYPE_AP_VLAN:
11127e9121d4dd Johannes Berg 2011-11-16 1762 sdata =
container_of(sdata->bss,
11127e9121d4dd Johannes Berg 2011-11-16 1763 struct
ieee80211_sub_if_data, u.ap);
fc0561dc6a9c61 Gustavo A. R. Silva 2020-07-07 1764 fallthrough;
5061b0c2b9066d Johannes Berg 2009-07-14 1765 default:
11127e9121d4dd Johannes Berg 2011-11-16 1766 vif = &sdata->vif;
5061b0c2b9066d Johannes Berg 2009-07-14 1767 break;
5061b0c2b9066d Johannes Berg 2009-07-14 1768 }
5061b0c2b9066d Johannes Berg 2009-07-14 1769
4fd0328d2f6314 Johannes Berg 2019-10-01 1770 result = ieee80211_tx_frags(local,
vif, sta, skbs, txpending);
21f5fc75deca63 Luis R. Rodriguez 2009-07-24 1771
4db4e0a17fb0e7 Johannes Berg 2011-11-24 1772
WARN_ON_ONCE(!skb_queue_empty(skbs));
252b86c43225d0 Johannes Berg 2011-11-16 1773
11127e9121d4dd Johannes Berg 2011-11-16 1774 return result;
e2ebc74d7e3d71 Johannes Berg 2007-07-27 1775 }
e2ebc74d7e3d71 Johannes Berg 2007-07-27 1776
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org