drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c:224 dwmac_dma_flush_tx_fifo() warn: this loop depends on readl() succeeding
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb893de323e2d39f7a1f6df425703a2edbdf56ea
commit: 05933aac7b11911955de307a329dc2a7a14b7bd0 ia64: remove now unused machvec indirections
date: 12 months ago
config: ia64-randconfig-m031-20200811 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c:224 dwmac_dma_flush_tx_fifo() warn: this loop depends on readl() succeeding
vim +224 drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
aec7ff27814528 drivers/net/stmmac/dwmac_lib.c Giuseppe CAVALLARO 2010-01-06 218
ad01b7d480a4a1 drivers/net/stmmac/dwmac_lib.c Giuseppe CAVALLARO 2010-08-23 219 void dwmac_dma_flush_tx_fifo(void __iomem *ioaddr)
688911c2f5e5e4 drivers/net/stmmac/dwmac_lib.c Giuseppe CAVALLARO 2010-04-13 220 {
688911c2f5e5e4 drivers/net/stmmac/dwmac_lib.c Giuseppe CAVALLARO 2010-04-13 221 u32 csr6 = readl(ioaddr + DMA_CONTROL);
688911c2f5e5e4 drivers/net/stmmac/dwmac_lib.c Giuseppe CAVALLARO 2010-04-13 222 writel((csr6 | DMA_CONTROL_FTF), ioaddr + DMA_CONTROL);
688911c2f5e5e4 drivers/net/stmmac/dwmac_lib.c Giuseppe CAVALLARO 2010-04-13 223
688911c2f5e5e4 drivers/net/stmmac/dwmac_lib.c Giuseppe CAVALLARO 2010-04-13 @224 do {} while ((readl(ioaddr + DMA_CONTROL) & DMA_CONTROL_FTF));
688911c2f5e5e4 drivers/net/stmmac/dwmac_lib.c Giuseppe CAVALLARO 2010-04-13 225 }
aec7ff27814528 drivers/net/stmmac/dwmac_lib.c Giuseppe CAVALLARO 2010-01-06 226
:::::: The code at line 224 was first introduced by commit
:::::: 688911c2f5e5e4f33b5a1c32839184f1fdf814ee stmmac: fix Transmit FIFO flush operation
:::::: TO: Giuseppe CAVALLARO <peppe.cavallaro(a)st.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/edac/amd64_edac.c:3065:47: sparse: sparse: incorrect type in argument 3 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb893de323e2d39f7a1f6df425703a2edbdf56ea
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 8 weeks ago
config: i386-randconfig-s001-20200812 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-168-g9554805c-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/edac/amd64_edac.c:3065:47: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected struct msr *msrs @@ got struct msr [noderef] __percpu *static [toplevel] msrs @@
drivers/edac/amd64_edac.c:3065:47: sparse: expected struct msr *msrs
>> drivers/edac/amd64_edac.c:3065:47: sparse: got struct msr [noderef] __percpu *static [toplevel] msrs
drivers/edac/amd64_edac.c:3097:48: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected struct msr *msrs @@ got struct msr [noderef] __percpu *static [toplevel] msrs @@
drivers/edac/amd64_edac.c:3097:48: sparse: expected struct msr *msrs
drivers/edac/amd64_edac.c:3097:48: sparse: got struct msr [noderef] __percpu *static [toplevel] msrs
drivers/edac/amd64_edac.c:3116:48: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected struct msr *msrs @@ got struct msr [noderef] __percpu *static [toplevel] msrs @@
drivers/edac/amd64_edac.c:3116:48: sparse: expected struct msr *msrs
drivers/edac/amd64_edac.c:3116:48: sparse: got struct msr [noderef] __percpu *static [toplevel] msrs
>> drivers/edac/amd64_edac.c:3674:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct msr [noderef] __percpu *static [toplevel] msrs @@ got struct msr * @@
>> drivers/edac/amd64_edac.c:3674:14: sparse: expected struct msr [noderef] __percpu *static [toplevel] msrs
drivers/edac/amd64_edac.c:3674:14: sparse: got struct msr *
drivers/edac/amd64_edac.c:3711:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct msr *msrs @@ got struct msr [noderef] __percpu *static [toplevel] msrs @@
drivers/edac/amd64_edac.c:3711:19: sparse: expected struct msr *msrs
drivers/edac/amd64_edac.c:3711:19: sparse: got struct msr [noderef] __percpu *static [toplevel] msrs
>> drivers/edac/amd64_edac.c:3740:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct msr *msrs @@ got struct msr [noderef] __percpu *static [assigned] [toplevel] msrs @@
drivers/edac/amd64_edac.c:3740:19: sparse: expected struct msr *msrs
>> drivers/edac/amd64_edac.c:3740:19: sparse: got struct msr [noderef] __percpu *static [assigned] [toplevel] msrs
--
>> drivers/video/fbdev/geode/suspend_gx.c:32:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *q @@ got void [noderef] __iomem *gp_regs @@
drivers/video/fbdev/geode/suspend_gx.c:32:28: sparse: expected void const *q
drivers/video/fbdev/geode/suspend_gx.c:32:28: sparse: got void [noderef] __iomem *gp_regs
>> drivers/video/fbdev/geode/suspend_gx.c:33:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *q @@ got void [noderef] __iomem *dc_regs @@
drivers/video/fbdev/geode/suspend_gx.c:33:28: sparse: expected void const *q
drivers/video/fbdev/geode/suspend_gx.c:33:28: sparse: got void [noderef] __iomem *dc_regs
>> drivers/video/fbdev/geode/suspend_gx.c:34:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *q @@ got void [noderef] __iomem *vid_regs @@
drivers/video/fbdev/geode/suspend_gx.c:34:28: sparse: expected void const *q
drivers/video/fbdev/geode/suspend_gx.c:34:28: sparse: got void [noderef] __iomem *vid_regs
>> drivers/video/fbdev/geode/suspend_gx.c:35:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *q @@ got void [noderef] __iomem * @@
drivers/video/fbdev/geode/suspend_gx.c:35:39: sparse: expected void const *q
drivers/video/fbdev/geode/suspend_gx.c:35:39: sparse: got void [noderef] __iomem *
--
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c: note: in included file (through drivers/net/wireless/intel/iwlwifi/mvm/..//fw/img.h, drivers/net/wireless/intel/iwlwifi/mvm/..//iwl-trans.h, ...):
drivers/net/wireless/intel/iwlwifi/mvm/..//fw/file.h:330:19: sparse: sparse: mixed bitwiseness
drivers/net/wireless/intel/iwlwifi/mvm/..//fw/file.h:484:19: sparse: sparse: mixed bitwiseness
>> drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3002:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected unsigned char const [usertype] *ies @@ got unsigned char const [noderef] __rcu * @@
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3002:63: sparse: expected unsigned char const [usertype] *ies
>> drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3002:63: sparse: got unsigned char const [noderef] __rcu *
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3003:38: sparse: sparse: dereference of noderef expression
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3003:38: sparse: sparse: dereference of noderef expression
vim +3065 drivers/edac/amd64_edac.c
f6d6ae96576090 Borislav Petkov 2009-11-03 3050
f6d6ae96576090 Borislav Petkov 2009-11-03 3051 /* check MCG_CTL on all the cpus on this node */
d1ea71cdc9801c Borislav Petkov 2013-12-15 3052 static bool nb_mce_bank_enabled_on_node(u16 nid)
f6d6ae96576090 Borislav Petkov 2009-11-03 3053 {
f6d6ae96576090 Borislav Petkov 2009-11-03 3054 cpumask_var_t mask;
505422517d3f12 Borislav Petkov 2009-12-11 3055 int cpu, nbe;
f6d6ae96576090 Borislav Petkov 2009-11-03 3056 bool ret = false;
f6d6ae96576090 Borislav Petkov 2009-11-03 3057
f6d6ae96576090 Borislav Petkov 2009-11-03 3058 if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) {
24f9a7fe3f19f3 Borislav Petkov 2010-10-07 3059 amd64_warn("%s: Error allocating mask\n", __func__);
f6d6ae96576090 Borislav Petkov 2009-11-03 3060 return false;
f6d6ae96576090 Borislav Petkov 2009-11-03 3061 }
f6d6ae96576090 Borislav Petkov 2009-11-03 3062
f6d6ae96576090 Borislav Petkov 2009-11-03 3063 get_cpus_on_this_dct_cpumask(mask, nid);
f6d6ae96576090 Borislav Petkov 2009-11-03 3064
f6d6ae96576090 Borislav Petkov 2009-11-03 @3065 rdmsr_on_cpus(mask, MSR_IA32_MCG_CTL, msrs);
f6d6ae96576090 Borislav Petkov 2009-11-03 3066
f6d6ae96576090 Borislav Petkov 2009-11-03 3067 for_each_cpu(cpu, mask) {
505422517d3f12 Borislav Petkov 2009-12-11 3068 struct msr *reg = per_cpu_ptr(msrs, cpu);
5980bb9cd88a3f Borislav Petkov 2011-01-07 3069 nbe = reg->l & MSR_MCGCTL_NBE;
f6d6ae96576090 Borislav Petkov 2009-11-03 3070
956b9ba156dbfd Joe Perches 2012-04-29 3071 edac_dbg(0, "core: %u, MCG_CTL: 0x%llx, NB MSR is %s\n",
505422517d3f12 Borislav Petkov 2009-12-11 3072 cpu, reg->q,
f6d6ae96576090 Borislav Petkov 2009-11-03 3073 (nbe ? "enabled" : "disabled"));
f6d6ae96576090 Borislav Petkov 2009-11-03 3074
f6d6ae96576090 Borislav Petkov 2009-11-03 3075 if (!nbe)
f6d6ae96576090 Borislav Petkov 2009-11-03 3076 goto out;
f6d6ae96576090 Borislav Petkov 2009-11-03 3077 }
f6d6ae96576090 Borislav Petkov 2009-11-03 3078 ret = true;
f6d6ae96576090 Borislav Petkov 2009-11-03 3079
f6d6ae96576090 Borislav Petkov 2009-11-03 3080 out:
f6d6ae96576090 Borislav Petkov 2009-11-03 3081 free_cpumask_var(mask);
f6d6ae96576090 Borislav Petkov 2009-11-03 3082 return ret;
f6d6ae96576090 Borislav Petkov 2009-11-03 3083 }
f6d6ae96576090 Borislav Petkov 2009-11-03 3084
:::::: The code at line 3065 was first introduced by commit
:::::: f6d6ae965760906d79ab29bc38507608c5971549 amd64_edac: unify MCGCTL ECC switching
:::::: TO: Borislav Petkov <borislav.petkov(a)amd.com>
:::::: CC: Borislav Petkov <borislav.petkov(a)amd.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/tty/serial/8250/serial_cs.c:148:17: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb893de323e2d39f7a1f6df425703a2edbdf56ea
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 8 weeks ago
config: riscv-randconfig-s031-20200812 (attached as .config)
compiler: riscv64-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.2-168-g9554805c-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# 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=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/tty/serial/8250/serial_cs.c:148:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/tty/serial/8250/serial_cs.c:148:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/tty/serial/8250/serial_cs.c:148:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/serial_cs.c:148:17: sparse: got void *
drivers/tty/serial/8250/serial_cs.c:162:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/serial_cs.c:162:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/serial_cs.c:162:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/serial_cs.c:162:9: sparse: got void *
drivers/tty/serial/8250/serial_cs.c:164:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/serial_cs.c:164:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/serial_cs.c:164:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/serial_cs.c:164:9: sparse: got void *
drivers/tty/serial/8250/serial_cs.c:166:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/serial_cs.c:166:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/serial_cs.c:166:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/serial_cs.c:166:9: sparse: got void *
drivers/tty/serial/8250/serial_cs.c:168:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/serial_cs.c:168:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/serial_cs.c:168:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/serial_cs.c:168:9: sparse: got void *
drivers/tty/serial/8250/serial_cs.c:170:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/serial_cs.c:170:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/serial_cs.c:170:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/serial_cs.c:170:9: sparse: got void *
drivers/tty/serial/8250/serial_cs.c:172:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/serial_cs.c:172:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/serial_cs.c:172:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/serial_cs.c:172:9: sparse: got void *
drivers/tty/serial/8250/serial_cs.c:174:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/8250/serial_cs.c:174:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/8250/serial_cs.c:174:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/tty/serial/8250/serial_cs.c:174:9: sparse: got void *
--
>> drivers/video/fbdev/arcfb.c:119:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/video/fbdev/arcfb.c:119:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/video/fbdev/arcfb.c:119:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/arcfb.c:119:9: sparse: got void *
drivers/video/fbdev/arcfb.c:120:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/arcfb.c:120:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:120:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/arcfb.c:120:9: sparse: got void *
drivers/video/fbdev/arcfb.c:122:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/arcfb.c:122:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:122:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/arcfb.c:122:9: sparse: got void *
drivers/video/fbdev/arcfb.c:128:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/arcfb.c:128:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:128:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/arcfb.c:128:9: sparse: got void *
drivers/video/fbdev/arcfb.c:134:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/video/fbdev/arcfb.c:134:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/video/fbdev/arcfb.c:134:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/arcfb.c:134:16: sparse: got void *
drivers/video/fbdev/arcfb.c:142:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/arcfb.c:142:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:142:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/arcfb.c:142:9: sparse: got void *
drivers/video/fbdev/arcfb.c:143:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/arcfb.c:143:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:143:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/arcfb.c:143:9: sparse: got void *
drivers/video/fbdev/arcfb.c:145:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/arcfb.c:145:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:145:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/arcfb.c:145:9: sparse: got void *
--
drivers/spi/spi-lp8841-rtc.c:112:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:112:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:112:17: sparse: got void *iomem
drivers/spi/spi-lp8841-rtc.c:121:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:121:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:121:17: sparse: got void *iomem
drivers/spi/spi-lp8841-rtc.c:143:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:143:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:143:9: sparse: got void *iomem
drivers/spi/spi-lp8841-rtc.c:147:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:147:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:147:17: sparse: got void *iomem
drivers/spi/spi-lp8841-rtc.c:209:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *iomem @@ got void [noderef] __iomem * @@
drivers/spi/spi-lp8841-rtc.c:209:21: sparse: expected void *iomem
drivers/spi/spi-lp8841-rtc.c:209:21: sparse: got void [noderef] __iomem *
drivers/spi/spi-lp8841-rtc.c:57:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:57:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:57:9: sparse: got void *iomem
>> drivers/spi/spi-lp8841-rtc.c:63:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *iomem @@
>> drivers/spi/spi-lp8841-rtc.c:63:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:63:28: sparse: got void *iomem
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: got void *iomem
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: got void *iomem
drivers/spi/spi-lp8841-rtc.c:57:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:57:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:57:9: sparse: got void *iomem
>> drivers/spi/spi-lp8841-rtc.c:63:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *iomem @@
>> drivers/spi/spi-lp8841-rtc.c:63:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:63:28: sparse: got void *iomem
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: got void *iomem
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/spi/spi-lp8841-rtc.c:47:9: sparse: got void *iomem
--
>> drivers/net/can/cc770/cc770_isa.c:125:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/can/cc770/cc770_isa.c:125:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/can/cc770/cc770_isa.c:125:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:125:16: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:131:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/can/cc770/cc770_isa.c:131:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/net/can/cc770/cc770_isa.c:131:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:131:9: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:142:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/can/cc770/cc770_isa.c:142:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/can/cc770/cc770_isa.c:142:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:142:9: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:143:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/can/cc770/cc770_isa.c:143:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/can/cc770/cc770_isa.c:143:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:143:15: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:156:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/can/cc770/cc770_isa.c:156:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/can/cc770/cc770_isa.c:156:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:156:9: sparse: got void *
drivers/net/can/cc770/cc770_isa.c:157:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/can/cc770/cc770_isa.c:157:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/can/cc770/cc770_isa.c:157:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/can/cc770/cc770_isa.c:157:9: sparse: got void *
--
>> drivers/pcmcia/pd6729.c:71:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/pcmcia/pd6729.c:71:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/pcmcia/pd6729.c:71:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:71:9: sparse: got void *
drivers/pcmcia/pd6729.c:72:15: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/pcmcia/pd6729.c:72:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/pcmcia/pd6729.c:72:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:72:15: sparse: got void *
drivers/pcmcia/pd6729.c:88:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:88:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:88:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:88:9: sparse: got void *
drivers/pcmcia/pd6729.c:89:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:89:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:89:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:89:15: sparse: got void *
drivers/pcmcia/pd6729.c:91:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:91:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:91:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:91:9: sparse: got void *
drivers/pcmcia/pd6729.c:92:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:92:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:92:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:92:22: sparse: got void *
drivers/pcmcia/pd6729.c:107:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:107:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:107:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:107:9: sparse: got void *
drivers/pcmcia/pd6729.c:108:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:108:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:108:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:108:9: sparse: got void *
drivers/pcmcia/pd6729.c:122:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:122:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:122:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:122:9: sparse: got void *
drivers/pcmcia/pd6729.c:123:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:123:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:123:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:123:15: sparse: got void *
drivers/pcmcia/pd6729.c:125:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:125:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:125:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:125:9: sparse: got void *
drivers/pcmcia/pd6729.c:126:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:126:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:126:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:126:9: sparse: got void *
drivers/pcmcia/pd6729.c:140:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:140:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:140:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:140:9: sparse: got void *
drivers/pcmcia/pd6729.c:141:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:141:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:141:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:141:15: sparse: got void *
drivers/pcmcia/pd6729.c:143:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:143:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:143:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:143:9: sparse: got void *
drivers/pcmcia/pd6729.c:144:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:144:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:144:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:144:9: sparse: got void *
drivers/pcmcia/pd6729.c:159:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:159:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:159:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:159:9: sparse: got void *
drivers/pcmcia/pd6729.c:161:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:161:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:161:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:161:9: sparse: got void *
drivers/pcmcia/pd6729.c:165:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:165:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:165:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:165:9: sparse: got void *
drivers/pcmcia/pd6729.c:167:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/pcmcia/pd6729.c:167:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/pcmcia/pd6729.c:167:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/pcmcia/pd6729.c:167:9: sparse: got void *
--
>> drivers/i2c/busses/i2c-mlxcpld.c:97:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/i2c/busses/i2c-mlxcpld.c:97:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/i2c/busses/i2c-mlxcpld.c:97:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:97:17: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:99:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:99:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:99:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:99:17: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:107:38: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/i2c/busses/i2c-mlxcpld.c:107:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/i2c/busses/i2c-mlxcpld.c:107:38: sparse: expected void const volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:107:38: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:109:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:109:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:109:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:109:31: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:119:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:119:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:119:27: sparse: expected void const volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:119:27: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:122:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:122:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:122:34: sparse: expected void const volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:122:34: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:125:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:125:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:125:34: sparse: expected void const volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:125:34: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:126:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:126:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:126:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:126:31: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:129:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:129:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:129:34: sparse: expected void const volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:129:34: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:144:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:144:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:144:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:144:17: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:147:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:147:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:147:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:147:17: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:150:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:150:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:150:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:150:17: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:151:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:151:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:151:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:151:17: sparse: got void *
drivers/i2c/busses/i2c-mlxcpld.c:154:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/i2c/busses/i2c-mlxcpld.c:154:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/i2c/busses/i2c-mlxcpld.c:154:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/i2c/busses/i2c-mlxcpld.c:154:17: sparse: got void *
--
>> drivers/power/reset/piix4-poweroff.c:35:23: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/power/reset/piix4-poweroff.c:35:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/power/reset/piix4-poweroff.c:35:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/power/reset/piix4-poweroff.c:35:23: sparse: got void *
drivers/power/reset/piix4-poweroff.c:38:17: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/power/reset/piix4-poweroff.c:38:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/power/reset/piix4-poweroff.c:38:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/power/reset/piix4-poweroff.c:38:17: sparse: got void *
drivers/power/reset/piix4-poweroff.c:42:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/power/reset/piix4-poweroff.c:42:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/power/reset/piix4-poweroff.c:42:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/power/reset/piix4-poweroff.c:42:9: sparse: got void *
vim +/__iomem +148 drivers/tty/serial/8250/serial_cs.c
20f130495c07cd drivers/serial/serial_cs.c Russell King 2006-09-16 142
7ef057fa707897 drivers/serial/serial_cs.c Russell King 2006-09-16 143 static void quirk_wakeup_oxsemi(struct pcmcia_device *link)
7ef057fa707897 drivers/serial/serial_cs.c Russell King 2006-09-16 144 {
7ef057fa707897 drivers/serial/serial_cs.c Russell King 2006-09-16 145 struct serial_info *info = link->priv;
7ef057fa707897 drivers/serial/serial_cs.c Russell King 2006-09-16 146
18c576f950167f drivers/serial/serial_cs.c Pavel Machek 2009-12-09 147 if (info->c950ctrl)
7ef057fa707897 drivers/serial/serial_cs.c Russell King 2006-09-16 @148 outb(12, info->c950ctrl + 1);
7ef057fa707897 drivers/serial/serial_cs.c Russell King 2006-09-16 149 }
7ef057fa707897 drivers/serial/serial_cs.c Russell King 2006-09-16 150
:::::: The code at line 148 was first introduced by commit
:::::: 7ef057fa707897c19725d7e07123e57f6aea79db [SERIAL] serial_cs: Convert Oxford 950 / Possio GCC wakeup quirk
:::::: TO: Russell King <rmk(a)dyn-67.arm.linux.org.uk>
:::::: CC: Russell King <rmk+kernel(a)arm.linux.org.uk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/soc/qcom/smd-rpm.c:177:47: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb893de323e2d39f7a1f6df425703a2edbdf56ea
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 8 weeks ago
config: powerpc64-randconfig-s032-20200812 (attached as .config)
compiler: powerpc-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.2-168-g9554805c-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# 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=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/soc/qcom/smd-rpm.c:177:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *s @@ got unsigned char const * @@
>> drivers/soc/qcom/smd-rpm.c:177:47: sparse: expected void const volatile [noderef] __iomem *s
drivers/soc/qcom/smd-rpm.c:177:47: sparse: got unsigned char const *
--
>> drivers/spi/spi-fsl-cpm.c:58:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
>> drivers/spi/spi-fsl-cpm.c:58:39: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
>> drivers/spi/spi-fsl-cpm.c:58:39: sparse: got restricted __be32 [noderef] __iomem *
>> drivers/spi/spi-fsl-cpm.c:59:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
>> drivers/spi/spi-fsl-cpm.c:59:39: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
>> drivers/spi/spi-fsl-cpm.c:59:39: sparse: got restricted __be16 [noderef] __iomem *
>> drivers/spi/spi-fsl-cpm.c:60:47: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
>> drivers/spi/spi-fsl-cpm.c:60:47: sparse: expected unsigned short const volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:60:47: sparse: got restricted __be16 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:61:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:61:39: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:61:39: sparse: got restricted __be32 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:62:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:62:39: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:62:39: sparse: got restricted __be16 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:63:47: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:63:47: sparse: expected unsigned short const volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:63:47: sparse: got restricted __be16 [noderef] __iomem *
>> drivers/spi/spi-fsl-cpm.c:77:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-cpm.c:77:44: sparse: expected struct fsl_spi_reg *reg_base
>> drivers/spi/spi-fsl-cpm.c:77:44: sparse: got void [noderef] __iomem *reg_base
>> drivers/spi/spi-fsl-cpm.c:97:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
>> drivers/spi/spi-fsl-cpm.c:97:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-cpm.c:97:32: sparse: got restricted __be32 *
drivers/spi/spi-fsl-cpm.c:104:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-cpm.c:104:44: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-cpm.c:104:44: sparse: got void [noderef] __iomem *reg_base
drivers/spi/spi-fsl-cpm.c:149:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-cpm.c:149:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-cpm.c:149:32: sparse: got restricted __be32 *
drivers/spi/spi-fsl-cpm.c:182:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct fsl_spi_reg *reg_base @@ got void [noderef] __iomem *reg_base @@
drivers/spi/spi-fsl-cpm.c:182:44: sparse: expected struct fsl_spi_reg *reg_base
drivers/spi/spi-fsl-cpm.c:182:44: sparse: got void [noderef] __iomem *reg_base
drivers/spi/spi-fsl-cpm.c:194:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected restricted __be32 [noderef] [usertype] __iomem *reg @@ got restricted __be32 * @@
drivers/spi/spi-fsl-cpm.c:194:32: sparse: expected restricted __be32 [noderef] [usertype] __iomem *reg
drivers/spi/spi-fsl-cpm.c:194:32: sparse: got restricted __be32 *
>> drivers/spi/spi-fsl-cpm.c:310:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *pram @@ got void [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:310:22: sparse: expected void *pram
>> drivers/spi/spi-fsl-cpm.c:310:22: sparse: got void [noderef] __iomem *
>> drivers/spi/spi-fsl-cpm.c:315:36: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct spi_pram [noderef] __iomem *pram @@ got void *pram @@
>> drivers/spi/spi-fsl-cpm.c:315:36: sparse: expected struct spi_pram [noderef] __iomem *pram
drivers/spi/spi-fsl-cpm.c:315:36: sparse: got void *pram
drivers/spi/spi-fsl-cpm.c:354:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:354:23: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:354:23: sparse: got restricted __be16 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:355:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:355:23: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:355:23: sparse: got restricted __be16 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:358:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:358:23: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:358:23: sparse: got restricted __be16 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:359:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:359:23: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:359:23: sparse: got restricted __be32 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:360:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:360:23: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:360:23: sparse: got restricted __be32 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:361:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:361:23: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:361:23: sparse: got restricted __be16 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:362:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:362:23: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:362:23: sparse: got restricted __be16 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:363:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:363:23: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:363:23: sparse: got restricted __be32 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:364:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:364:23: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:364:23: sparse: got restricted __be32 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:365:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:365:23: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:365:23: sparse: got restricted __be32 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:366:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:366:23: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:366:23: sparse: got restricted __be16 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:367:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:367:23: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:367:23: sparse: got restricted __be16 [noderef] __iomem *
drivers/spi/spi-fsl-cpm.c:368:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/spi/spi-fsl-cpm.c:368:23: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/spi/spi-fsl-cpm.c:368:23: sparse: got restricted __be32 [noderef] __iomem *
--
>> arch/powerpc/platforms/52xx/mpc52xx_pm.c:133:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *q @@ got void [noderef] __iomem *static [assigned] [toplevel] sram @@
arch/powerpc/platforms/52xx/mpc52xx_pm.c:133:28: sparse: expected void const *q
arch/powerpc/platforms/52xx/mpc52xx_pm.c:133:28: sparse: got void [noderef] __iomem *static [assigned] [toplevel] sram
>> arch/powerpc/platforms/52xx/mpc52xx_pm.c:136:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *static [assigned] [toplevel] sram @@
arch/powerpc/platforms/52xx/mpc52xx_pm.c:136:16: sparse: expected void *p
arch/powerpc/platforms/52xx/mpc52xx_pm.c:136:16: sparse: got void [noderef] __iomem *static [assigned] [toplevel] sram
>> arch/powerpc/platforms/52xx/mpc52xx_pm.c:155:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *q @@ got void [noderef] __iomem *irq_0x500 @@
arch/powerpc/platforms/52xx/mpc52xx_pm.c:155:29: sparse: expected void const *q
arch/powerpc/platforms/52xx/mpc52xx_pm.c:155:29: sparse: got void [noderef] __iomem *irq_0x500
>> arch/powerpc/platforms/52xx/mpc52xx_pm.c:156:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *irq_0x500 @@
arch/powerpc/platforms/52xx/mpc52xx_pm.c:156:16: sparse: expected void *p
arch/powerpc/platforms/52xx/mpc52xx_pm.c:156:16: sparse: got void [noderef] __iomem *irq_0x500
arch/powerpc/platforms/52xx/mpc52xx_pm.c:163:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *irq_0x500 @@
arch/powerpc/platforms/52xx/mpc52xx_pm.c:163:16: sparse: expected void *p
arch/powerpc/platforms/52xx/mpc52xx_pm.c:163:16: sparse: got void [noderef] __iomem *irq_0x500
arch/powerpc/platforms/52xx/mpc52xx_pm.c:176:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *static [assigned] [toplevel] sram @@
arch/powerpc/platforms/52xx/mpc52xx_pm.c:176:16: sparse: expected void *p
arch/powerpc/platforms/52xx/mpc52xx_pm.c:176:16: sparse: got void [noderef] __iomem *static [assigned] [toplevel] sram
--
>> arch/powerpc/platforms/86xx/mpc86xx_smp.c:48:33: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem * @@
>> arch/powerpc/platforms/86xx/mpc86xx_smp.c:48:33: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/platforms/86xx/mpc86xx_smp.c:48:33: sparse: got restricted __be32 [noderef] [usertype] __iomem *
>> arch/powerpc/platforms/86xx/mpc86xx_smp.c:50:28: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem * @@
>> arch/powerpc/platforms/86xx/mpc86xx_smp.c:50:28: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
arch/powerpc/platforms/86xx/mpc86xx_smp.c:50:28: sparse: got restricted __be32 [noderef] [usertype] __iomem *
arch/powerpc/platforms/86xx/mpc86xx_smp.c:103:18: sparse: sparse: symbol 'smp_86xx_ops' was not declared. Should it be static?
--
>> drivers/hwspinlock/u8500_hsem.c:52:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *lock_addr @@ got void *priv @@
>> drivers/hwspinlock/u8500_hsem.c:52:39: sparse: expected void [noderef] __iomem *lock_addr
drivers/hwspinlock/u8500_hsem.c:52:39: sparse: got void *priv
drivers/hwspinlock/u8500_hsem.c:65:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *lock_addr @@ got void *priv @@
drivers/hwspinlock/u8500_hsem.c:65:39: sparse: expected void [noderef] __iomem *lock_addr
drivers/hwspinlock/u8500_hsem.c:65:39: sparse: got void *priv
>> drivers/hwspinlock/u8500_hsem.c:116:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *priv @@ got void [noderef] __iomem * @@
drivers/hwspinlock/u8500_hsem.c:116:30: sparse: expected void *priv
>> drivers/hwspinlock/u8500_hsem.c:116:30: sparse: got void [noderef] __iomem *
>> drivers/hwspinlock/u8500_hsem.c:126:52: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *io_base @@ got void * @@
>> drivers/hwspinlock/u8500_hsem.c:126:52: sparse: expected void [noderef] __iomem *io_base
drivers/hwspinlock/u8500_hsem.c:126:52: sparse: got void *
vim +177 drivers/soc/qcom/smd-rpm.c
936f14cf4e6716 Bjorn Andersson 2015-07-27 146
5052de8deff561 Bjorn Andersson 2017-03-27 147 static int qcom_smd_rpm_callback(struct rpmsg_device *rpdev,
5052de8deff561 Bjorn Andersson 2017-03-27 148 void *data,
5052de8deff561 Bjorn Andersson 2017-03-27 149 int count,
5052de8deff561 Bjorn Andersson 2017-03-27 150 void *priv,
5052de8deff561 Bjorn Andersson 2017-03-27 151 u32 addr)
936f14cf4e6716 Bjorn Andersson 2015-07-27 152 {
936f14cf4e6716 Bjorn Andersson 2015-07-27 153 const struct qcom_rpm_header *hdr = data;
30b7ea5eda0afb Stephen Boyd 2015-09-02 154 size_t hdr_length = le32_to_cpu(hdr->length);
936f14cf4e6716 Bjorn Andersson 2015-07-27 155 const struct qcom_rpm_message *msg;
5052de8deff561 Bjorn Andersson 2017-03-27 156 struct qcom_smd_rpm *rpm = dev_get_drvdata(&rpdev->dev);
936f14cf4e6716 Bjorn Andersson 2015-07-27 157 const u8 *buf = data + sizeof(struct qcom_rpm_header);
30b7ea5eda0afb Stephen Boyd 2015-09-02 158 const u8 *end = buf + hdr_length;
936f14cf4e6716 Bjorn Andersson 2015-07-27 159 char msgbuf[32];
936f14cf4e6716 Bjorn Andersson 2015-07-27 160 int status = 0;
30b7ea5eda0afb Stephen Boyd 2015-09-02 161 u32 len, msg_length;
936f14cf4e6716 Bjorn Andersson 2015-07-27 162
30b7ea5eda0afb Stephen Boyd 2015-09-02 163 if (le32_to_cpu(hdr->service_type) != RPM_SERVICE_TYPE_REQUEST ||
30b7ea5eda0afb Stephen Boyd 2015-09-02 164 hdr_length < sizeof(struct qcom_rpm_message)) {
b853cb9628bfbc Bjorn Andersson 2016-03-28 165 dev_err(rpm->dev, "invalid request\n");
936f14cf4e6716 Bjorn Andersson 2015-07-27 166 return 0;
936f14cf4e6716 Bjorn Andersson 2015-07-27 167 }
936f14cf4e6716 Bjorn Andersson 2015-07-27 168
936f14cf4e6716 Bjorn Andersson 2015-07-27 169 while (buf < end) {
936f14cf4e6716 Bjorn Andersson 2015-07-27 170 msg = (struct qcom_rpm_message *)buf;
30b7ea5eda0afb Stephen Boyd 2015-09-02 171 msg_length = le32_to_cpu(msg->length);
30b7ea5eda0afb Stephen Boyd 2015-09-02 172 switch (le32_to_cpu(msg->msg_type)) {
936f14cf4e6716 Bjorn Andersson 2015-07-27 173 case RPM_MSG_TYPE_MSG_ID:
936f14cf4e6716 Bjorn Andersson 2015-07-27 174 break;
936f14cf4e6716 Bjorn Andersson 2015-07-27 175 case RPM_MSG_TYPE_ERR:
30b7ea5eda0afb Stephen Boyd 2015-09-02 176 len = min_t(u32, ALIGN(msg_length, 4), sizeof(msgbuf));
936f14cf4e6716 Bjorn Andersson 2015-07-27 @177 memcpy_fromio(msgbuf, msg->message, len);
936f14cf4e6716 Bjorn Andersson 2015-07-27 178 msgbuf[len - 1] = 0;
936f14cf4e6716 Bjorn Andersson 2015-07-27 179
936f14cf4e6716 Bjorn Andersson 2015-07-27 180 if (!strcmp(msgbuf, "resource does not exist"))
936f14cf4e6716 Bjorn Andersson 2015-07-27 181 status = -ENXIO;
936f14cf4e6716 Bjorn Andersson 2015-07-27 182 else
936f14cf4e6716 Bjorn Andersson 2015-07-27 183 status = -EINVAL;
936f14cf4e6716 Bjorn Andersson 2015-07-27 184 break;
936f14cf4e6716 Bjorn Andersson 2015-07-27 185 }
936f14cf4e6716 Bjorn Andersson 2015-07-27 186
30b7ea5eda0afb Stephen Boyd 2015-09-02 187 buf = PTR_ALIGN(buf + 2 * sizeof(u32) + msg_length, 4);
936f14cf4e6716 Bjorn Andersson 2015-07-27 188 }
936f14cf4e6716 Bjorn Andersson 2015-07-27 189
936f14cf4e6716 Bjorn Andersson 2015-07-27 190 rpm->ack_status = status;
936f14cf4e6716 Bjorn Andersson 2015-07-27 191 complete(&rpm->ack);
936f14cf4e6716 Bjorn Andersson 2015-07-27 192 return 0;
936f14cf4e6716 Bjorn Andersson 2015-07-27 193 }
936f14cf4e6716 Bjorn Andersson 2015-07-27 194
:::::: The code at line 177 was first introduced by commit
:::::: 936f14cf4e67168fcd37f10cebf5a475f490fb6e soc: qcom: Driver for the Qualcomm RPM over SMD
:::::: TO: Bjorn Andersson <bjorn.andersson(a)sonymobile.com>
:::::: CC: Andy Gross <agross(a)codeaurora.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[linux-stable-rc:linux-4.19.y 6833/9999] drivers/net/wireless/intel/iwlwifi/mvm/sta.c:2573:23: sparse: sparse: context imbalance in 'iwl_mvm_sta_tx_agg_start' - different lock contexts for basic block
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
head: e864f43593ccf9180c61738abdf1c1dde091367d
commit: 5ee7911e8e17afb4541096c6e98ffa61190338b3 [6833/9999] iwlwifi: mvm: avoid possible access out of array.
config: i386-randconfig-s001-20200812 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-168-g9554805c-dirty
git checkout 5ee7911e8e17afb4541096c6e98ffa61190338b3
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/net/wireless/intel/iwlwifi/mvm/sta.c: note: in included file (through drivers/net/wireless/intel/iwlwifi/mvm/..//fw/img.h, drivers/net/wireless/intel/iwlwifi/mvm/..//iwl-trans.h, ...):
drivers/net/wireless/intel/iwlwifi/mvm/..//fw/file.h:286:19: sparse: sparse: mixed bitwiseness
drivers/net/wireless/intel/iwlwifi/mvm/..//fw/file.h:405:19: sparse: sparse: mixed bitwiseness
>> drivers/net/wireless/intel/iwlwifi/mvm/sta.c:2573:23: sparse: sparse: context imbalance in 'iwl_mvm_sta_tx_agg_start' - different lock contexts for basic block
In file included from drivers/net/wireless/intel/iwlwifi/mvm/../iwl-trans.h:76,
from drivers/net/wireless/intel/iwlwifi/mvm/mvm.h:83,
from drivers/net/wireless/intel/iwlwifi/mvm/sta.c:71:
drivers/net/wireless/intel/iwlwifi/mvm/../iwl-config.h:472:36: warning: 'iwl_csr_v2' defined but not used [-Wunused-const-variable=]
472 | static const struct iwl_csr_params iwl_csr_v2 = {
| ^~~~~~~~~~
drivers/net/wireless/intel/iwlwifi/mvm/../iwl-config.h:457:36: warning: 'iwl_csr_v1' defined but not used [-Wunused-const-variable=]
457 | static const struct iwl_csr_params iwl_csr_v1 = {
| ^~~~~~~~~~
vim +/iwl_mvm_sta_tx_agg_start +2573 drivers/net/wireless/intel/iwlwifi/mvm/sta.c
3e56eadfb6a1f2 drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-02-15 2458
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2459 int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2460 struct ieee80211_sta *sta, u16 tid, u16 *ssn)
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2461 {
5b577a90fb3d86 drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-11-14 2462 struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2463 struct iwl_mvm_tid_data *tid_data;
dd32162da4e5b3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2017-04-05 2464 u16 normalized_ssn;
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2465 u16 txq_id;
4ecafae9e56802 drivers/net/wireless/iwlwifi/mvm/sta.c Liad Kaufman 2015-07-14 2466 int ret;
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2467
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2468 if (WARN_ON_ONCE(tid >= IWL_MAX_TID_COUNT))
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2469 return -EINVAL;
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2470
bd800e41a3de5c drivers/net/wireless/intel/iwlwifi/mvm/sta.c Naftali Goldstein 2017-08-28 2471 if (mvmsta->tid_data[tid].state != IWL_AGG_QUEUED &&
bd800e41a3de5c drivers/net/wireless/intel/iwlwifi/mvm/sta.c Naftali Goldstein 2017-08-28 2472 mvmsta->tid_data[tid].state != IWL_AGG_OFF) {
bd800e41a3de5c drivers/net/wireless/intel/iwlwifi/mvm/sta.c Naftali Goldstein 2017-08-28 2473 IWL_ERR(mvm,
bd800e41a3de5c drivers/net/wireless/intel/iwlwifi/mvm/sta.c Naftali Goldstein 2017-08-28 2474 "Start AGG when state is not IWL_AGG_QUEUED or IWL_AGG_OFF %d!\n",
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2475 mvmsta->tid_data[tid].state);
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2476 return -ENXIO;
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2477 }
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2478
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2479 lockdep_assert_held(&mvm->mutex);
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2480
bd8f3fc613919b drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2018-01-17 2481 if (mvmsta->tid_data[tid].txq_id == IWL_MVM_INVALID_QUEUE &&
bd8f3fc613919b drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2018-01-17 2482 iwl_mvm_has_new_tx_api(mvm)) {
bd8f3fc613919b drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2018-01-17 2483 u8 ac = tid_to_mac80211_ac[tid];
bd8f3fc613919b drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2018-01-17 2484
bd8f3fc613919b drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2018-01-17 2485 ret = iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid);
bd8f3fc613919b drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2018-01-17 2486 if (ret)
bd8f3fc613919b drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2018-01-17 2487 return ret;
bd8f3fc613919b drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2018-01-17 2488 }
bd8f3fc613919b drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2018-01-17 2489
b2492501d234ef drivers/net/wireless/iwlwifi/mvm/sta.c Arik Nemtsov 2014-03-13 2490 spin_lock_bh(&mvmsta->lock);
b2492501d234ef drivers/net/wireless/iwlwifi/mvm/sta.c Arik Nemtsov 2014-03-13 2491
b2492501d234ef drivers/net/wireless/iwlwifi/mvm/sta.c Arik Nemtsov 2014-03-13 2492 /* possible race condition - we entered D0i3 while starting agg */
b2492501d234ef drivers/net/wireless/iwlwifi/mvm/sta.c Arik Nemtsov 2014-03-13 2493 if (test_bit(IWL_MVM_STATUS_IN_D0I3, &mvm->status)) {
b2492501d234ef drivers/net/wireless/iwlwifi/mvm/sta.c Arik Nemtsov 2014-03-13 2494 spin_unlock_bh(&mvmsta->lock);
b2492501d234ef drivers/net/wireless/iwlwifi/mvm/sta.c Arik Nemtsov 2014-03-13 2495 IWL_ERR(mvm, "Entered D0i3 while starting Tx agg\n");
b2492501d234ef drivers/net/wireless/iwlwifi/mvm/sta.c Arik Nemtsov 2014-03-13 2496 return -EIO;
b2492501d234ef drivers/net/wireless/iwlwifi/mvm/sta.c Arik Nemtsov 2014-03-13 2497 }
b2492501d234ef drivers/net/wireless/iwlwifi/mvm/sta.c Arik Nemtsov 2014-03-13 2498
9f9af3d7d303a5 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-12-23 2499 spin_lock(&mvm->queue_info_lock);
4ecafae9e56802 drivers/net/wireless/iwlwifi/mvm/sta.c Liad Kaufman 2015-07-14 2500
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2501 /*
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2502 * Note the possible cases:
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2503 * 1. An enabled TXQ - TXQ needs to become agg'ed
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2504 * 2. The TXQ hasn't yet been enabled, so find a free one and mark
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2505 * it as reserved
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2506 */
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2507 txq_id = mvmsta->tid_data[tid].txq_id;
34e10860ae8dc8 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Sara Sharon 2017-02-23 2508 if (txq_id == IWL_MVM_INVALID_QUEUE) {
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2509 ret = iwl_mvm_find_free_queue(mvm, mvmsta->sta_id,
c8f54701bdbfcc drivers/net/wireless/intel/iwlwifi/mvm/sta.c Johannes Berg 2017-06-19 2510 IWL_MVM_DQA_MIN_DATA_QUEUE,
c8f54701bdbfcc drivers/net/wireless/intel/iwlwifi/mvm/sta.c Johannes Berg 2017-06-19 2511 IWL_MVM_DQA_MAX_DATA_QUEUE);
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2512 if (ret < 0) {
4ecafae9e56802 drivers/net/wireless/iwlwifi/mvm/sta.c Liad Kaufman 2015-07-14 2513 IWL_ERR(mvm, "Failed to allocate agg queue\n");
4ecafae9e56802 drivers/net/wireless/iwlwifi/mvm/sta.c Liad Kaufman 2015-07-14 2514 goto release_locks;
4ecafae9e56802 drivers/net/wireless/iwlwifi/mvm/sta.c Liad Kaufman 2015-07-14 2515 }
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2516
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2517 txq_id = ret;
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2518
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2519 /* TXQ hasn't yet been enabled, so mark it only as reserved */
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2520 mvm->queue_info[txq_id].status = IWL_MVM_QUEUE_RESERVED;
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2521 } else if (WARN_ON(txq_id >= IWL_MAX_HW_QUEUES)) {
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2522 ret = -ENXIO;
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2523 IWL_ERR(mvm, "tid_id %d out of range (0, %d)!\n",
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2524 tid, IWL_MAX_HW_QUEUES - 1);
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2525 goto out;
5ee7911e8e17af drivers/net/wireless/intel/iwlwifi/mvm/sta.c Mordechay Goodstein 2018-10-21 2526
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2527 } else if (unlikely(mvm->queue_info[txq_id].status ==
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2528 IWL_MVM_QUEUE_SHARED)) {
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2529 ret = -ENXIO;
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2530 IWL_DEBUG_TX_QUEUES(mvm,
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2531 "Can't start tid %d agg on shared queue!\n",
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2532 tid);
4a6d2e525b43eb drivers/net/wireless/intel/iwlwifi/mvm/sta.c Avraham Stern 2018-03-05 2533 goto release_locks;
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2534 }
9f9af3d7d303a5 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-12-23 2535
9f9af3d7d303a5 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-12-23 2536 spin_unlock(&mvm->queue_info_lock);
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2537
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2538 IWL_DEBUG_TX_QUEUES(mvm,
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2539 "AGG for tid %d will be on queue #%d\n",
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2540 tid, txq_id);
cf961e16620f88 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-08-13 2541
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2542 tid_data = &mvmsta->tid_data[tid];
9a886586c82aa0 drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-02-15 2543 tid_data->ssn = IEEE80211_SEQ_TO_SN(tid_data->seq_number);
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2544 tid_data->txq_id = txq_id;
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2545 *ssn = tid_data->ssn;
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2546
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2547 IWL_DEBUG_TX_QUEUES(mvm,
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2548 "Start AGG: sta %d tid %d queue %d - ssn = %d, next_recl = %d\n",
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2549 mvmsta->sta_id, tid, txq_id, tid_data->ssn,
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2550 tid_data->next_reclaimed);
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2551
dd32162da4e5b3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2017-04-05 2552 /*
2f7a3863191afc drivers/net/wireless/intel/iwlwifi/mvm/sta.c Luca Coelho 2017-11-15 2553 * In 22000 HW, the next_reclaimed index is only 8 bit, so we'll need
dd32162da4e5b3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2017-04-05 2554 * to align the wrap around of ssn so we compare relevant values.
dd32162da4e5b3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2017-04-05 2555 */
dd32162da4e5b3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2017-04-05 2556 normalized_ssn = tid_data->ssn;
dd32162da4e5b3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2017-04-05 2557 if (mvm->trans->cfg->gen2)
dd32162da4e5b3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2017-04-05 2558 normalized_ssn &= 0xff;
dd32162da4e5b3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2017-04-05 2559
dd32162da4e5b3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2017-04-05 2560 if (normalized_ssn == tid_data->next_reclaimed) {
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2561 tid_data->state = IWL_AGG_STARTING;
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2562 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid);
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2563 } else {
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2564 tid_data->state = IWL_EMPTYING_HW_QUEUE_ADDBA;
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2565 }
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2566
4ecafae9e56802 drivers/net/wireless/iwlwifi/mvm/sta.c Liad Kaufman 2015-07-14 2567 ret = 0;
9f9af3d7d303a5 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-12-23 2568 goto out;
4ecafae9e56802 drivers/net/wireless/iwlwifi/mvm/sta.c Liad Kaufman 2015-07-14 2569
4ecafae9e56802 drivers/net/wireless/iwlwifi/mvm/sta.c Liad Kaufman 2015-07-14 2570 release_locks:
9f9af3d7d303a5 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-12-23 2571 spin_unlock(&mvm->queue_info_lock);
9f9af3d7d303a5 drivers/net/wireless/intel/iwlwifi/mvm/sta.c Liad Kaufman 2015-12-23 2572 out:
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 @2573 spin_unlock_bh(&mvmsta->lock);
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2574
4ecafae9e56802 drivers/net/wireless/iwlwifi/mvm/sta.c Liad Kaufman 2015-07-14 2575 return ret;
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2576 }
8ca151b568b67a drivers/net/wireless/iwlwifi/mvm/sta.c Johannes Berg 2013-01-24 2577
:::::: The code at line 2573 was first introduced by commit
:::::: 8ca151b568b67a7b72dcfc6ee6ea7c107ddd795c iwlwifi: add the MVM driver
:::::: TO: Johannes Berg <johannes.berg(a)intel.com>
:::::: CC: Johannes Berg <johannes.berg(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/gpu/drm/i915/i915_sw_fence.c:84:20: error: unused function 'debug_fence_init_onstack'
by kernel test robot
Hi Masahiro,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb893de323e2d39f7a1f6df425703a2edbdf56ea
commit: 6863f5643dd717376c2fdc85a47a00f9d738a834 kbuild: allow Clang to find unused static inline functions for W=1 build
date: 11 months ago
config: x86_64-randconfig-a005-20200812 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 4f2ad15db535873dda9bfe248a2771023b64a43c)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 6863f5643dd717376c2fdc85a47a00f9d738a834
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/i915/i915_sw_fence.c:84:20: error: unused function 'debug_fence_init_onstack' [-Werror,-Wunused-function]
static inline void debug_fence_init_onstack(struct i915_sw_fence *fence)
^
>> drivers/gpu/drm/i915/i915_sw_fence.c:105:20: error: unused function 'debug_fence_free' [-Werror,-Wunused-function]
static inline void debug_fence_free(struct i915_sw_fence *fence)
^
2 errors generated.
--
>> drivers/gpu/drm/i915/display/intel_hdmi.c:1696:26: error: unused function 'intel_hdmi_hdcp2_protocol' [-Werror,-Wunused-function]
enum hdcp_wired_protocol intel_hdmi_hdcp2_protocol(void)
^
1 error generated.
--
>> drivers/gpu/drm/i915/gvt/gtt.c:263:19: error: unused function 'get_pt_type' [-Werror,-Wunused-function]
static inline int get_pt_type(int type)
^
>> drivers/gpu/drm/i915/gvt/gtt.c:587:20: error: unused function 'ppgtt_set_guest_root_entry' [-Werror,-Wunused-function]
static inline void ppgtt_set_guest_root_entry(struct intel_vgpu_mm *mm,
^
2 errors generated.
vim +/debug_fence_init_onstack +84 drivers/gpu/drm/i915/i915_sw_fence.c
fc1584059d6c43 Chris Wilson 2016-11-25 83
214707fc2ce08d Chris Wilson 2017-10-12 @84 static inline void debug_fence_init_onstack(struct i915_sw_fence *fence)
214707fc2ce08d Chris Wilson 2017-10-12 85 {
214707fc2ce08d Chris Wilson 2017-10-12 86 }
214707fc2ce08d Chris Wilson 2017-10-12 87
fc1584059d6c43 Chris Wilson 2016-11-25 88 static inline void debug_fence_activate(struct i915_sw_fence *fence)
fc1584059d6c43 Chris Wilson 2016-11-25 89 {
fc1584059d6c43 Chris Wilson 2016-11-25 90 }
fc1584059d6c43 Chris Wilson 2016-11-25 91
fc1584059d6c43 Chris Wilson 2016-11-25 92 static inline void debug_fence_set_state(struct i915_sw_fence *fence,
fc1584059d6c43 Chris Wilson 2016-11-25 93 int old, int new)
fc1584059d6c43 Chris Wilson 2016-11-25 94 {
fc1584059d6c43 Chris Wilson 2016-11-25 95 }
fc1584059d6c43 Chris Wilson 2016-11-25 96
fc1584059d6c43 Chris Wilson 2016-11-25 97 static inline void debug_fence_deactivate(struct i915_sw_fence *fence)
fc1584059d6c43 Chris Wilson 2016-11-25 98 {
fc1584059d6c43 Chris Wilson 2016-11-25 99 }
fc1584059d6c43 Chris Wilson 2016-11-25 100
fc1584059d6c43 Chris Wilson 2016-11-25 101 static inline void debug_fence_destroy(struct i915_sw_fence *fence)
fc1584059d6c43 Chris Wilson 2016-11-25 102 {
fc1584059d6c43 Chris Wilson 2016-11-25 103 }
fc1584059d6c43 Chris Wilson 2016-11-25 104
fc1584059d6c43 Chris Wilson 2016-11-25 @105 static inline void debug_fence_free(struct i915_sw_fence *fence)
fc1584059d6c43 Chris Wilson 2016-11-25 106 {
fc1584059d6c43 Chris Wilson 2016-11-25 107 }
fc1584059d6c43 Chris Wilson 2016-11-25 108
:::::: The code at line 84 was first introduced by commit
:::::: 214707fc2ce08d09982bc4fe4b7a1c1f010e82be drm/i915/selftests: Wrap a timer into a i915_sw_fence
:::::: TO: Chris Wilson <chris(a)chris-wilson.co.uk>
:::::: CC: Chris Wilson <chris(a)chris-wilson.co.uk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3223:63: sparse: expected unsigned char const
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb893de323e2d39f7a1f6df425703a2edbdf56ea
commit: 4f58121dc40a1d5dd2f630a5ec4dac5afa1ce3f4 iwlwifi: mvm: Block 26-tone RU OFDMA transmissions
date: 11 months ago
config: i386-randconfig-s001-20200812 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-168-g9554805c-dirty
git checkout 4f58121dc40a1d5dd2f630a5ec4dac5afa1ce3f4
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c: note: in included file (through drivers/net/wireless/intel/iwlwifi/mvm/..//fw/img.h, drivers/net/wireless/intel/iwlwifi/mvm/..//iwl-trans.h, ...):
drivers/net/wireless/intel/iwlwifi/mvm/..//fw/file.h:330:19: sparse: sparse: mixed bitwiseness
drivers/net/wireless/intel/iwlwifi/mvm/..//fw/file.h:475:19: sparse: sparse: mixed bitwiseness
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3223:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected unsigned char const [usertype] *ies @@ got unsigned char const [noderef] <asn:4> * @@
>> drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3223:63: sparse: expected unsigned char const [usertype] *ies
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3223:63: sparse: got unsigned char const [noderef] <asn:4> *
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c: note: in included file (through include/linux/bitops.h, include/linux/kernel.h):
arch/x86/include/asm/bitops.h:78:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:78:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
arch/x86/include/asm/bitops.h:78:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
>> drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3224:38: sparse: sparse: dereference of noderef expression
>> drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:3224:38: sparse: sparse: dereference of noderef expression
vim +3223 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
3215
3216 static void iwl_mvm_check_he_obss_narrow_bw_ru_iter(struct wiphy *wiphy,
3217 struct cfg80211_bss *bss,
3218 void *_data)
3219 {
3220 struct iwl_mvm_he_obss_narrow_bw_ru_data *data = _data;
3221 const struct element *elem;
3222
> 3223 elem = cfg80211_find_elem(WLAN_EID_EXT_CAPABILITY, bss->ies->data,
> 3224 bss->ies->len);
3225
3226 if (!elem || elem->datalen < 10 ||
3227 !(elem->data[10] &
3228 WLAN_EXT_CAPA10_OBSS_NARROW_BW_RU_TOLERANCE_SUPPORT)) {
3229 data->tolerated = false;
3230 }
3231 }
3232
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[linux-stable-rc:linux-5.7.y 620/1056] drivers/staging/wfx/debug.c:157:36: sparse: sparse: cast to restricted __le16
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.7.y
head: a06eb423367eea436351ef2a92f61a4e625cf558
commit: be66f10a60e3ec0b589898f78a428bcb34095730 [620/1056] staging: wfx: fix output of rx_stats on big endian hosts
config: i386-randconfig-s001-20200812 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-168-g9554805c-dirty
git checkout be66f10a60e3ec0b589898f78a428bcb34095730
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/staging/wfx/debug.c: note: in included file (through include/trace/trace_events.h, include/trace/define_trace.h, drivers/staging/wfx/traces.h):
drivers/staging/wfx/./traces.h:155:1: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __le16 const [usertype] *p @@ got unsigned short [usertype] * @@
drivers/staging/wfx/./traces.h:155:1: sparse: expected restricted __le16 const [usertype] *p
drivers/staging/wfx/./traces.h:155:1: sparse: got unsigned short [usertype] *
drivers/staging/wfx/debug.c: note: in included file (through include/trace/perf.h, include/trace/define_trace.h, drivers/staging/wfx/traces.h):
drivers/staging/wfx/./traces.h:155:1: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __le16 const [usertype] *p @@ got unsigned short [usertype] * @@
drivers/staging/wfx/./traces.h:155:1: sparse: expected restricted __le16 const [usertype] *p
drivers/staging/wfx/./traces.h:155:1: sparse: got unsigned short [usertype] *
drivers/staging/wfx/debug.c:78:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:79:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:80:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:81:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:82:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:83:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:85:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:86:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:87:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:89:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:90:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:91:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:92:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:93:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:94:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:95:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:96:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:97:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:98:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:99:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:100:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:101:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:103:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:104:9: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:145:20: sparse: sparse: cast to restricted __le32
drivers/staging/wfx/debug.c:156:36: sparse: sparse: cast to restricted __le32
>> drivers/staging/wfx/debug.c:157:36: sparse: sparse: cast to restricted __le16
drivers/staging/wfx/debug.c:158:41: sparse: sparse: cast to restricted __le16
drivers/staging/wfx/debug.c:159:41: sparse: sparse: cast to restricted __le16
drivers/staging/wfx/debug.c:160:41: sparse: sparse: cast to restricted __le16
vim +157 drivers/staging/wfx/debug.c
135
136 static int wfx_rx_stats_show(struct seq_file *seq, void *v)
137 {
138 struct wfx_dev *wdev = seq->private;
139 struct hif_rx_stats *st = &wdev->rx_stats;
140 int i;
141
142 mutex_lock(&wdev->rx_stats_lock);
143 seq_printf(seq, "Timestamp: %dus\n", st->date);
144 seq_printf(seq, "Low power clock: frequency %uHz, external %s\n",
145 le32_to_cpu(st->pwr_clk_freq),
146 st->is_ext_pwr_clk ? "yes" : "no");
147 seq_printf(seq,
148 "Num. of frames: %d, PER (x10e4): %d, Throughput: %dKbps/s\n",
149 st->nb_rx_frame, st->per_total, st->throughput);
150 seq_puts(seq, " Num. of PER RSSI SNR CFO\n");
151 seq_puts(seq, " frames (x10e4) (dBm) (dB) (kHz)\n");
152 for (i = 0; i < ARRAY_SIZE(channel_names); i++) {
153 if (channel_names[i])
154 seq_printf(seq, "%5s %8d %8d %8d %8d %8d\n",
155 channel_names[i],
156 le32_to_cpu(st->nb_rx_by_rate[i]),
> 157 le16_to_cpu(st->per[i]),
158 (s16)le16_to_cpu(st->rssi[i]) / 100,
159 (s16)le16_to_cpu(st->snr[i]) / 100,
160 (s16)le16_to_cpu(st->cfo[i]));
161 }
162 mutex_unlock(&wdev->rx_stats_lock);
163
164 return 0;
165 }
166 DEFINE_SHOW_ATTRIBUTE(wfx_rx_stats);
167
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
drivers/video/fbdev/arcfb.c:119:9: sparse: got void COPYING CREDITS Documentation Kbuild Kconfig LICENSES MAINTAINERS Makefile README arch block certs crypto drivers fs include init ipc kernel lib mm net samples scripts security sound tools usr virt
by kernel test robot
Hi Bartlomiej,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb893de323e2d39f7a1f6df425703a2edbdf56ea
commit: 3d3287e609877aa549b1cbb41eafaf73c3742a0b video: fbdev: arcfb: add COMPILE_TEST support
date: 5 months ago
config: riscv-randconfig-s031-20200812 (attached as .config)
compiler: riscv64-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.2-168-g9554805c-dirty
git checkout 3d3287e609877aa549b1cbb41eafaf73c3742a0b
# 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=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/video/fbdev/arcfb.c:119:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:119:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:119:9: sparse: expected void volatile [noderef] <asn:2> *addr
>> drivers/video/fbdev/arcfb.c:119:9: sparse: got void *
drivers/video/fbdev/arcfb.c:120:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:120:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:120:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:120:9: sparse: got void *
drivers/video/fbdev/arcfb.c:122:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:122:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:122:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:122:9: sparse: got void *
drivers/video/fbdev/arcfb.c:128:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:128:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:128:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:128:9: sparse: got void *
drivers/video/fbdev/arcfb.c:134:16: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:134:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:134:16: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:134:16: sparse: got void *
drivers/video/fbdev/arcfb.c:142:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:142:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:142:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:142:9: sparse: got void *
drivers/video/fbdev/arcfb.c:143:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:143:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:143:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:143:9: sparse: got void *
drivers/video/fbdev/arcfb.c:145:9: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/video/fbdev/arcfb.c:145:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got void * @@
drivers/video/fbdev/arcfb.c:145:9: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/video/fbdev/arcfb.c:145:9: sparse: got void *
vim +119 drivers/video/fbdev/arcfb.c
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 113
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 114 static void ks108_writeb_ctl(struct arcfb_par *par,
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 115 unsigned int chipindex, unsigned char value)
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 116 {
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 117 unsigned char chipselval = par->cslut[chipindex];
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 118
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 @119 outb(chipselval|KS_CEHI|KS_SEL_CMD, par->cio_addr);
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 120 outb(value, par->dio_addr);
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 121 udelay(tuhold);
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 122 outb(chipselval|KS_CELO|KS_SEL_CMD, par->cio_addr);
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 123 }
1154ea7dcd8eed drivers/video/arcfb.c Jaya Kumar 2005-06-21 124
:::::: The code at line 119 was first introduced by commit
:::::: 1154ea7dcd8eed758fb5ec47393a79d5a1f0bc43 [PATCH] Framebuffer driver for Arc LCD board
:::::: TO: Jaya Kumar <jayalk(a)intworks.biz>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
arch/sparc/include/asm/cmpxchg_64.h:161:55: sparse: sparse: cast truncates bits from constant value (ffffffffe0f510cc becomes cc)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb893de323e2d39f7a1f6df425703a2edbdf56ea
commit: 47e4937a4a7ca4184fd282791dfee76c6799966a erofs: move erofs out of staging
date: 12 months ago
config: sparc64-randconfig-s032-20200812 (attached as .config)
compiler: sparc64-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.2-168-g9554805c-dirty
git checkout 47e4937a4a7ca4184fd282791dfee76c6799966a
# 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=sparc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
fs/erofs/utils.c: note: in included file (through arch/sparc/include/asm/cmpxchg.h, arch/sparc/include/asm/atomic_64.h, arch/sparc/include/asm/atomic.h, ...):
>> arch/sparc/include/asm/cmpxchg_64.h:161:55: sparse: sparse: cast truncates bits from constant value (ffffffffe0f510cc becomes cc)
--
fs/erofs/zdata.c: note: in included file (through arch/sparc/include/asm/cmpxchg.h, arch/sparc/include/asm/atomic_64.h, arch/sparc/include/asm/atomic.h, ...):
>> arch/sparc/include/asm/cmpxchg_64.h:161:55: sparse: sparse: cast truncates bits from constant value (ffffffffe0f510cc becomes cc)
arch/sparc/include/asm/cmpxchg_64.h:161:50: sparse: sparse: cast truncates bits from constant value (5f0ecafe becomes fe)
arch/sparc/include/asm/cmpxchg_64.h:161:50: sparse: sparse: cast truncates bits from constant value (5f0ecafe becomes fe)
arch/sparc/include/asm/cmpxchg_64.h:161:55: sparse: sparse: cast truncates bits from constant value (5f0edead becomes ad)
vim +161 arch/sparc/include/asm/cmpxchg_64.h
d550bbd40c0e10 David Howells 2012-03-28 155
d550bbd40c0e10 David Howells 2012-03-28 156 static inline unsigned long
d550bbd40c0e10 David Howells 2012-03-28 157 __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
d550bbd40c0e10 David Howells 2012-03-28 158 {
d550bbd40c0e10 David Howells 2012-03-28 159 switch (size) {
a12ee2349312d7 Babu Moger 2017-05-24 160 case 1:
a12ee2349312d7 Babu Moger 2017-05-24 @161 return __cmpxchg_u8(ptr, old, new);
d550bbd40c0e10 David Howells 2012-03-28 162 case 4:
d550bbd40c0e10 David Howells 2012-03-28 163 return __cmpxchg_u32(ptr, old, new);
d550bbd40c0e10 David Howells 2012-03-28 164 case 8:
d550bbd40c0e10 David Howells 2012-03-28 165 return __cmpxchg_u64(ptr, old, new);
d550bbd40c0e10 David Howells 2012-03-28 166 }
d550bbd40c0e10 David Howells 2012-03-28 167 __cmpxchg_called_with_bad_pointer();
d550bbd40c0e10 David Howells 2012-03-28 168 return old;
d550bbd40c0e10 David Howells 2012-03-28 169 }
d550bbd40c0e10 David Howells 2012-03-28 170
:::::: The code at line 161 was first introduced by commit
:::::: a12ee2349312d7112b9b7c6ac2e70c5ec2ca334e arch/sparc: Introduce cmpxchg_u8 SPARC
:::::: TO: Babu Moger <babu.moger(a)oracle.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month