[nbd168-wireless:mt76 18/26] drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: incorrect type in argument 1 (different base types)

From: kernel test robot
Date: Wed Jul 14 2021 - 19:37:27 EST


tree: https://github.com/nbd168/wireless mt76
head: 322ec254cac2f270cd917c5e6bdf8c838ee0a2fc
commit: 895377eb178d757c0fdfdee78023b61b66689a05 [18/26] mt76: mt7915: report HE MU radiotap
config: sparc-randconfig-s031-20210714 (attached as .config)
compiler: sparc-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://github.com/nbd168/wireless/commit/895377eb178d757c0fdfdee78023b61b66689a05
git remote add nbd168-wireless https://github.com/nbd168/wireless
git fetch --no-tags nbd168-wireless mt76
git checkout 895377eb178d757c0fdfdee78023b61b66689a05
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sparc

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


sparse warnings: (new ones prefixed by >>)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: expected unsigned int [usertype] val
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: got restricted __le32 [usertype]
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast to restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: restricted __le32 degrades to integer
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
>> drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: expected unsigned int [usertype] val
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: got restricted __le32 [usertype]
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:258:28: sparse: sparse: restricted __le32 degrades to integer
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: expected unsigned int [usertype] val
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: got restricted __le32 [usertype]
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast to restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: restricted __le32 degrades to integer
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: expected unsigned int [usertype] val
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: got restricted __le32 [usertype]
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:263:25: sparse: sparse: restricted __le32 degrades to integer
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: expected unsigned int [usertype] val
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: got restricted __le32 [usertype]
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast to restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: restricted __le32 degrades to integer
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: expected unsigned int [usertype] val
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: got restricted __le32 [usertype]
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:268:25: sparse: sparse: restricted __le32 degrades to integer
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: expected unsigned int [usertype] val
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: got restricted __le32 [usertype]
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast to restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: restricted __le32 degrades to integer
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: expected unsigned int [usertype] val
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: got restricted __le32 [usertype]
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:270:25: sparse: sparse: restricted __le32 degrades to integer
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:305:13: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:305:13: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:305:13: sparse: expected unsigned int [usertype] val
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:305:13: sparse: got restricted __le32 [usertype]
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:305:13: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:305:13: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:305:13: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:305:13: sparse: sparse: cast from restricted __le32
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:305:13: sparse: sparse: restricted __le32 degrades to integer

vim +258 drivers/net/wireless/mediatek/mt76/mt7915/mac.c

249
250 he_mu->flags1 |= MU_PREP(FLAGS1_SIG_B_MCS, status->rate_idx);
251 if (status->he_dcm)
252 he_mu->flags1 |= MU_PREP(FLAGS1_SIG_B_DCM, status->he_dcm);
253
254 he_mu->flags2 |= MU_PREP(FLAGS2_BW_FROM_SIG_A_BW, status->bw) |
255 MU_PREP(FLAGS2_SIG_B_SYMS_USERS,
256 le32_get_bits(rxv[2], MT_CRXV_HE_NUM_USER));
257
> 258 he_mu->ru_ch1[0] = FIELD_GET(MT_CRXV_HE_RU0, cpu_to_le32(rxv[3]));
259
260 if (status->bw >= RATE_INFO_BW_40) {
261 he_mu->flags1 |= HE_BITS(MU_FLAGS1_CH2_RU_KNOWN);
262 he_mu->ru_ch2[0] =
263 FIELD_GET(MT_CRXV_HE_RU1, cpu_to_le32(rxv[3]));
264 }
265
266 if (status->bw >= RATE_INFO_BW_80) {
267 he_mu->ru_ch1[1] =
268 FIELD_GET(MT_CRXV_HE_RU2, cpu_to_le32(rxv[3]));
269 he_mu->ru_ch2[1] =
270 FIELD_GET(MT_CRXV_HE_RU3, cpu_to_le32(rxv[3]));
271 }
272 }
273

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

Attachment: .config.gz
Description: application/gzip