From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1130 mt7915_mac_sta_stats_work() warn: test_bit() takes a bit number
Date: Thu, 11 Jun 2020 13:46:40 +0300 [thread overview]
Message-ID: <20200611104640.GF4151@kadam> (raw)
[-- Attachment #1: Type: text/plain, Size: 3918 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b29482fde649c72441d5478a4ea2c52c56d97a5e
commit: e57b7901469fc0b021930b83a8094baaf3d81b09 mt76: add mac80211 driver for MT7915 PCIe-based chipsets
config: x86_64-randconfig-m031-20200611 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1130 mt7915_mac_sta_stats_work() warn: test_bit() takes a bit number
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e57b7901469fc0b021930b83a8094baaf3d81b09
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout e57b7901469fc0b021930b83a8094baaf3d81b09
vim +1130 drivers/net/wireless/mediatek/mt76/mt7915/mac.c
e57b7901469fc0 Ryder Lee 2020-04-25 1108 void mt7915_mac_sta_stats_work(struct work_struct *work)
e57b7901469fc0 Ryder Lee 2020-04-25 1109 {
e57b7901469fc0 Ryder Lee 2020-04-25 1110 struct ieee80211_sta *sta;
e57b7901469fc0 Ryder Lee 2020-04-25 1111 struct ieee80211_vif *vif;
e57b7901469fc0 Ryder Lee 2020-04-25 1112 struct mt7915_sta_stats *stats;
e57b7901469fc0 Ryder Lee 2020-04-25 1113 struct mt7915_sta *msta;
e57b7901469fc0 Ryder Lee 2020-04-25 1114 struct mt7915_dev *dev;
e57b7901469fc0 Ryder Lee 2020-04-25 1115
e57b7901469fc0 Ryder Lee 2020-04-25 1116 msta = container_of(work, struct mt7915_sta, stats_work);
e57b7901469fc0 Ryder Lee 2020-04-25 1117 sta = container_of((void *)msta, struct ieee80211_sta, drv_priv);
e57b7901469fc0 Ryder Lee 2020-04-25 1118 vif = container_of((void *)msta->vif, struct ieee80211_vif, drv_priv);
e57b7901469fc0 Ryder Lee 2020-04-25 1119 dev = msta->vif->dev;
e57b7901469fc0 Ryder Lee 2020-04-25 1120 stats = &msta->stats;
e57b7901469fc0 Ryder Lee 2020-04-25 1121
e57b7901469fc0 Ryder Lee 2020-04-25 1122 /* use MT_TX_FREE_RATE to report Tx rate for further devices */
e57b7901469fc0 Ryder Lee 2020-04-25 1123 if (time_after(jiffies, stats->jiffies + HZ)) {
e57b7901469fc0 Ryder Lee 2020-04-25 1124 mt7915_mcu_get_rate_info(dev, RATE_CTRL_RU_INFO,
e57b7901469fc0 Ryder Lee 2020-04-25 1125 msta->wcid.idx);
e57b7901469fc0 Ryder Lee 2020-04-25 1126
e57b7901469fc0 Ryder Lee 2020-04-25 1127 stats->jiffies = jiffies;
e57b7901469fc0 Ryder Lee 2020-04-25 1128 }
e57b7901469fc0 Ryder Lee 2020-04-25 1129
e57b7901469fc0 Ryder Lee 2020-04-25 @1130 if (test_and_clear_bit(IEEE80211_RC_SUPP_RATES_CHANGED |
e57b7901469fc0 Ryder Lee 2020-04-25 1131 IEEE80211_RC_NSS_CHANGED |
e57b7901469fc0 Ryder Lee 2020-04-25 1132 IEEE80211_RC_BW_CHANGED, &stats->changed))
The test_and_clear_bit() takes a bit number like 1. But this is
passing "(1 << 1) | ...". It won't work@all.
e57b7901469fc0 Ryder Lee 2020-04-25 1133 mt7915_mcu_add_rate_ctrl(dev, vif, sta);
e57b7901469fc0 Ryder Lee 2020-04-25 1134
e57b7901469fc0 Ryder Lee 2020-04-25 1135 if (test_and_clear_bit(IEEE80211_RC_SMPS_CHANGED, &stats->changed))
e57b7901469fc0 Ryder Lee 2020-04-25 1136 mt7915_mcu_add_smps(dev, vif, sta);
e57b7901469fc0 Ryder Lee 2020-04-25 1137
e57b7901469fc0 Ryder Lee 2020-04-25 1138 spin_lock_bh(&dev->sta_poll_lock);
e57b7901469fc0 Ryder Lee 2020-04-25 1139 if (list_empty(&msta->poll_list))
e57b7901469fc0 Ryder Lee 2020-04-25 1140 list_add_tail(&msta->poll_list, &dev->sta_poll_list);
e57b7901469fc0 Ryder Lee 2020-04-25 1141 spin_unlock_bh(&dev->sta_poll_lock);
e57b7901469fc0 Ryder Lee 2020-04-25 1142 }
---
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: 37195 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1130 mt7915_mac_sta_stats_work() warn: test_bit() takes a bit number
Date: Thu, 11 Jun 2020 13:46:40 +0300 [thread overview]
Message-ID: <20200611104640.GF4151@kadam> (raw)
[-- Attachment #1: Type: text/plain, Size: 3918 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b29482fde649c72441d5478a4ea2c52c56d97a5e
commit: e57b7901469fc0b021930b83a8094baaf3d81b09 mt76: add mac80211 driver for MT7915 PCIe-based chipsets
config: x86_64-randconfig-m031-20200611 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1130 mt7915_mac_sta_stats_work() warn: test_bit() takes a bit number
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e57b7901469fc0b021930b83a8094baaf3d81b09
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout e57b7901469fc0b021930b83a8094baaf3d81b09
vim +1130 drivers/net/wireless/mediatek/mt76/mt7915/mac.c
e57b7901469fc0 Ryder Lee 2020-04-25 1108 void mt7915_mac_sta_stats_work(struct work_struct *work)
e57b7901469fc0 Ryder Lee 2020-04-25 1109 {
e57b7901469fc0 Ryder Lee 2020-04-25 1110 struct ieee80211_sta *sta;
e57b7901469fc0 Ryder Lee 2020-04-25 1111 struct ieee80211_vif *vif;
e57b7901469fc0 Ryder Lee 2020-04-25 1112 struct mt7915_sta_stats *stats;
e57b7901469fc0 Ryder Lee 2020-04-25 1113 struct mt7915_sta *msta;
e57b7901469fc0 Ryder Lee 2020-04-25 1114 struct mt7915_dev *dev;
e57b7901469fc0 Ryder Lee 2020-04-25 1115
e57b7901469fc0 Ryder Lee 2020-04-25 1116 msta = container_of(work, struct mt7915_sta, stats_work);
e57b7901469fc0 Ryder Lee 2020-04-25 1117 sta = container_of((void *)msta, struct ieee80211_sta, drv_priv);
e57b7901469fc0 Ryder Lee 2020-04-25 1118 vif = container_of((void *)msta->vif, struct ieee80211_vif, drv_priv);
e57b7901469fc0 Ryder Lee 2020-04-25 1119 dev = msta->vif->dev;
e57b7901469fc0 Ryder Lee 2020-04-25 1120 stats = &msta->stats;
e57b7901469fc0 Ryder Lee 2020-04-25 1121
e57b7901469fc0 Ryder Lee 2020-04-25 1122 /* use MT_TX_FREE_RATE to report Tx rate for further devices */
e57b7901469fc0 Ryder Lee 2020-04-25 1123 if (time_after(jiffies, stats->jiffies + HZ)) {
e57b7901469fc0 Ryder Lee 2020-04-25 1124 mt7915_mcu_get_rate_info(dev, RATE_CTRL_RU_INFO,
e57b7901469fc0 Ryder Lee 2020-04-25 1125 msta->wcid.idx);
e57b7901469fc0 Ryder Lee 2020-04-25 1126
e57b7901469fc0 Ryder Lee 2020-04-25 1127 stats->jiffies = jiffies;
e57b7901469fc0 Ryder Lee 2020-04-25 1128 }
e57b7901469fc0 Ryder Lee 2020-04-25 1129
e57b7901469fc0 Ryder Lee 2020-04-25 @1130 if (test_and_clear_bit(IEEE80211_RC_SUPP_RATES_CHANGED |
e57b7901469fc0 Ryder Lee 2020-04-25 1131 IEEE80211_RC_NSS_CHANGED |
e57b7901469fc0 Ryder Lee 2020-04-25 1132 IEEE80211_RC_BW_CHANGED, &stats->changed))
The test_and_clear_bit() takes a bit number like 1. But this is
passing "(1 << 1) | ...". It won't work@all.
e57b7901469fc0 Ryder Lee 2020-04-25 1133 mt7915_mcu_add_rate_ctrl(dev, vif, sta);
e57b7901469fc0 Ryder Lee 2020-04-25 1134
e57b7901469fc0 Ryder Lee 2020-04-25 1135 if (test_and_clear_bit(IEEE80211_RC_SMPS_CHANGED, &stats->changed))
e57b7901469fc0 Ryder Lee 2020-04-25 1136 mt7915_mcu_add_smps(dev, vif, sta);
e57b7901469fc0 Ryder Lee 2020-04-25 1137
e57b7901469fc0 Ryder Lee 2020-04-25 1138 spin_lock_bh(&dev->sta_poll_lock);
e57b7901469fc0 Ryder Lee 2020-04-25 1139 if (list_empty(&msta->poll_list))
e57b7901469fc0 Ryder Lee 2020-04-25 1140 list_add_tail(&msta->poll_list, &dev->sta_poll_list);
e57b7901469fc0 Ryder Lee 2020-04-25 1141 spin_unlock_bh(&dev->sta_poll_lock);
e57b7901469fc0 Ryder Lee 2020-04-25 1142 }
---
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: 37195 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Ryder Lee <ryder.lee@mediatek.com>
Cc: lkp@intel.com, kbuild-all@lists.01.org,
linux-kernel@vger.kernel.org, Felix Fietkau <nbd@nbd.name>,
Shayne Chen <shayne.chen@mediatek.com>,
Chih-Min Chen <chih-min.chen@mediatek.com>
Subject: drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1130 mt7915_mac_sta_stats_work() warn: test_bit() takes a bit number
Date: Thu, 11 Jun 2020 13:46:40 +0300 [thread overview]
Message-ID: <20200611104640.GF4151@kadam> (raw)
[-- Attachment #1: Type: text/plain, Size: 3857 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b29482fde649c72441d5478a4ea2c52c56d97a5e
commit: e57b7901469fc0b021930b83a8094baaf3d81b09 mt76: add mac80211 driver for MT7915 PCIe-based chipsets
config: x86_64-randconfig-m031-20200611 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1130 mt7915_mac_sta_stats_work() warn: test_bit() takes a bit number
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e57b7901469fc0b021930b83a8094baaf3d81b09
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout e57b7901469fc0b021930b83a8094baaf3d81b09
vim +1130 drivers/net/wireless/mediatek/mt76/mt7915/mac.c
e57b7901469fc0 Ryder Lee 2020-04-25 1108 void mt7915_mac_sta_stats_work(struct work_struct *work)
e57b7901469fc0 Ryder Lee 2020-04-25 1109 {
e57b7901469fc0 Ryder Lee 2020-04-25 1110 struct ieee80211_sta *sta;
e57b7901469fc0 Ryder Lee 2020-04-25 1111 struct ieee80211_vif *vif;
e57b7901469fc0 Ryder Lee 2020-04-25 1112 struct mt7915_sta_stats *stats;
e57b7901469fc0 Ryder Lee 2020-04-25 1113 struct mt7915_sta *msta;
e57b7901469fc0 Ryder Lee 2020-04-25 1114 struct mt7915_dev *dev;
e57b7901469fc0 Ryder Lee 2020-04-25 1115
e57b7901469fc0 Ryder Lee 2020-04-25 1116 msta = container_of(work, struct mt7915_sta, stats_work);
e57b7901469fc0 Ryder Lee 2020-04-25 1117 sta = container_of((void *)msta, struct ieee80211_sta, drv_priv);
e57b7901469fc0 Ryder Lee 2020-04-25 1118 vif = container_of((void *)msta->vif, struct ieee80211_vif, drv_priv);
e57b7901469fc0 Ryder Lee 2020-04-25 1119 dev = msta->vif->dev;
e57b7901469fc0 Ryder Lee 2020-04-25 1120 stats = &msta->stats;
e57b7901469fc0 Ryder Lee 2020-04-25 1121
e57b7901469fc0 Ryder Lee 2020-04-25 1122 /* use MT_TX_FREE_RATE to report Tx rate for further devices */
e57b7901469fc0 Ryder Lee 2020-04-25 1123 if (time_after(jiffies, stats->jiffies + HZ)) {
e57b7901469fc0 Ryder Lee 2020-04-25 1124 mt7915_mcu_get_rate_info(dev, RATE_CTRL_RU_INFO,
e57b7901469fc0 Ryder Lee 2020-04-25 1125 msta->wcid.idx);
e57b7901469fc0 Ryder Lee 2020-04-25 1126
e57b7901469fc0 Ryder Lee 2020-04-25 1127 stats->jiffies = jiffies;
e57b7901469fc0 Ryder Lee 2020-04-25 1128 }
e57b7901469fc0 Ryder Lee 2020-04-25 1129
e57b7901469fc0 Ryder Lee 2020-04-25 @1130 if (test_and_clear_bit(IEEE80211_RC_SUPP_RATES_CHANGED |
e57b7901469fc0 Ryder Lee 2020-04-25 1131 IEEE80211_RC_NSS_CHANGED |
e57b7901469fc0 Ryder Lee 2020-04-25 1132 IEEE80211_RC_BW_CHANGED, &stats->changed))
The test_and_clear_bit() takes a bit number like 1. But this is
passing "(1 << 1) | ...". It won't work at all.
e57b7901469fc0 Ryder Lee 2020-04-25 1133 mt7915_mcu_add_rate_ctrl(dev, vif, sta);
e57b7901469fc0 Ryder Lee 2020-04-25 1134
e57b7901469fc0 Ryder Lee 2020-04-25 1135 if (test_and_clear_bit(IEEE80211_RC_SMPS_CHANGED, &stats->changed))
e57b7901469fc0 Ryder Lee 2020-04-25 1136 mt7915_mcu_add_smps(dev, vif, sta);
e57b7901469fc0 Ryder Lee 2020-04-25 1137
e57b7901469fc0 Ryder Lee 2020-04-25 1138 spin_lock_bh(&dev->sta_poll_lock);
e57b7901469fc0 Ryder Lee 2020-04-25 1139 if (list_empty(&msta->poll_list))
e57b7901469fc0 Ryder Lee 2020-04-25 1140 list_add_tail(&msta->poll_list, &dev->sta_poll_list);
e57b7901469fc0 Ryder Lee 2020-04-25 1141 spin_unlock_bh(&dev->sta_poll_lock);
e57b7901469fc0 Ryder Lee 2020-04-25 1142 }
---
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: 37195 bytes --]
next reply other threads:[~2020-06-11 10:46 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-11 10:46 Dan Carpenter [this message]
2020-06-11 10:46 ` drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1130 mt7915_mac_sta_stats_work() warn: test_bit() takes a bit number Dan Carpenter
2020-06-11 10:46 ` Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2020-08-12 5:51 kernel test robot
2020-08-12 5:51 ` kernel test robot
2020-06-11 10:42 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=20200611104640.GF4151@kadam \
--to=dan.carpenter@oracle.com \
--cc=kbuild@lists.01.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.