[linux-stable-rc:linux-5.4.y 2150/5369] drivers/gpu/drm/panfrost/panfrost_job.c:279:31: warning: variable 'bo' set but not used
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
head: e0d81ce760044efd3f26004aa32821c34968512a
commit: 3e041c27b9909704a54bc673f9110391e740f583 [2150/5369] drm/panfrost: Add the panfrost_gem_mapping concept
config: sparc-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 3e041c27b9909704a54bc673f9110391e740f583
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
drivers/gpu/drm/panfrost/panfrost_job.c: In function 'panfrost_job_cleanup':
>> drivers/gpu/drm/panfrost/panfrost_job.c:279:31: warning: variable 'bo' set but not used [-Wunused-but-set-variable]
279 | struct panfrost_gem_object *bo;
| ^~
vim +/bo +279 drivers/gpu/drm/panfrost/panfrost_job.c
252
253 static void panfrost_job_cleanup(struct kref *ref)
254 {
255 struct panfrost_job *job = container_of(ref, struct panfrost_job,
256 refcount);
257 unsigned int i;
258
259 if (job->in_fences) {
260 for (i = 0; i < job->in_fence_count; i++)
261 dma_fence_put(job->in_fences[i]);
262 kvfree(job->in_fences);
263 }
264 if (job->implicit_fences) {
265 for (i = 0; i < job->bo_count; i++)
266 dma_fence_put(job->implicit_fences[i]);
267 kvfree(job->implicit_fences);
268 }
269 dma_fence_put(job->done_fence);
270 dma_fence_put(job->render_done_fence);
271
272 if (job->mappings) {
273 for (i = 0; i < job->bo_count; i++)
274 panfrost_gem_mapping_put(job->mappings[i]);
275 kvfree(job->mappings);
276 }
277
278 if (job->bos) {
> 279 struct panfrost_gem_object *bo;
280
281 for (i = 0; i < job->bo_count; i++) {
282 bo = to_panfrost_bo(job->bos[i]);
283 drm_gem_object_put_unlocked(job->bos[i]);
284 }
285
286 kvfree(job->bos);
287 }
288
289 kfree(job);
290 }
291
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[hch-block:sas-atapi-fix 1/2] include/linux/compiler.h:355:11: error: pasting "__addressable_" and "(" does not give a valid preprocessing token
by kernel test robot
tree: git://git.infradead.org/users/hch/block.git sas-atapi-fix
head: af06c6f5072be6e47fa1a4641f5305c112e1d430
commit: 1c4b5642165ae807d42b4a447573620b22445f8e [1/2] libata: provide a ata_scsi_dma_need_drain stub for !CONFIG_ATA
config: arm64-allmodconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 1c4b5642165ae807d42b4a447573620b22445f8e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
| ^
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; | ^~~
include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1024:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~
include/linux/libata.h:1098:33: note: in expansion of macro 'NULL'
1098 | #define ata_scsi_dma_need_drain NULL
| ^~~~
drivers/ata/libata-scsi.c:1024:19: note: in expansion of macro 'ata_scsi_dma_need_drain'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:99:20: error: pasting "__kstrtab_" and "(" does not give a valid preprocessing token
99 | extern const char __kstrtab_##sym[]; | ^~~~~~~~~~
include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL'
147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
| ^~~~~~~~~~~~~~~~
include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1024:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~
include/linux/stddef.h:8:15: error: expected declaration specifiers or '...' before '(' token
8 | #define NULL ((void *)0)
| ^
include/linux/export.h:99:32: note: in definition of macro '___EXPORT_SYMBOL'
99 | extern const char __kstrtab_##sym[]; | ^~~
include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1024:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~
include/linux/libata.h:1098:33: note: in expansion of macro 'NULL'
1098 | #define ata_scsi_dma_need_drain NULL
| ^~~~
drivers/ata/libata-scsi.c:1024:19: note: in expansion of macro 'ata_scsi_dma_need_drain'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:100:20: error: pasting "__kstrtabns_" and "(" does not give a valid preprocessing token
100 | extern const char __kstrtabns_##sym[]; | ^~~~~~~~~~~~
include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL'
147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
| ^~~~~~~~~~~~~~~~
include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1024:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~
include/linux/stddef.h:8:15: error: expected declaration specifiers or '...' before '(' token
8 | #define NULL ((void *)0)
| ^
include/linux/export.h:100:34: note: in definition of macro '___EXPORT_SYMBOL'
100 | extern const char __kstrtabns_##sym[]; | ^~~
include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1024:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~
include/linux/libata.h:1098:33: note: in expansion of macro 'NULL'
1098 | #define ata_scsi_dma_need_drain NULL
| ^~~~
drivers/ata/libata-scsi.c:1024:19: note: in expansion of macro 'ata_scsi_dma_need_drain'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/build_bug.h:5,
from include/linux/bits.h:23,
from arch/arm64/include/asm/sysreg.h:12,
from arch/arm64/include/asm/cputype.h:130,
from arch/arm64/include/asm/cache.h:8,
from include/linux/cache.h:6,
from include/linux/time.h:5,
from include/linux/compat.h:10,
from drivers/ata/libata-scsi.c:16:
>> include/linux/compiler.h:355:11: error: pasting "__addressable_" and "(" does not give a valid preprocessing token
355 | __PASTE(__addressable_##sym, __LINE__) = (void *)&sym;
| ^~~~~~~~~~~~~~
include/linux/export.h:51:2: note: in expansion of macro '__ADDRESSABLE'
51 | __ADDRESSABLE(sym) | ^~~~~~~~~~~~~
include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY'
108 | __KSYMTAB_ENTRY(sym, sec)
| ^~~~~~~~~~~~~~~
include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL'
147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
| ^~~~~~~~~~~~~~~~
include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1024:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~
In file included from <command-line>:
include/linux/stddef.h:8:15: error: expected declaration specifiers or '...' before '(' token
8 | #define NULL ((void *)0)
| ^
include/linux/compiler_types.h:53:23: note: in definition of macro '___PASTE'
53 | #define ___PASTE(a,b) a##b
| ^
>> include/linux/compiler.h:355:3: note: in expansion of macro '__PASTE'
355 | __PASTE(__addressable_##sym, __LINE__) = (void *)&sym;
| ^~~~~~~
include/linux/export.h:51:2: note: in expansion of macro '__ADDRESSABLE'
51 | __ADDRESSABLE(sym) | ^~~~~~~~~~~~~
include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY'
108 | __KSYMTAB_ENTRY(sym, sec)
| ^~~~~~~~~~~~~~~
include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL'
147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
| ^~~~~~~~~~~~~~~~
include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1024:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~
include/linux/libata.h:1098:33: note: in expansion of macro 'NULL'
1098 | #define ata_scsi_dma_need_drain NULL
| ^~~~
drivers/ata/libata-scsi.c:1024:19: note: in expansion of macro 'ata_scsi_dma_need_drain'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/stddef.h:8:24: error: pasting ")" and "1024" does not give a valid preprocessing token
8 | #define NULL ((void *)0)
| ^
include/linux/compiler_types.h:53:23: note: in definition of macro '___PASTE'
53 | #define ___PASTE(a,b) a##b
| ^
>> include/linux/compiler.h:355:3: note: in expansion of macro '__PASTE'
355 | __PASTE(__addressable_##sym, __LINE__) = (void *)&sym;
| ^~~~~~~
include/linux/export.h:51:2: note: in expansion of macro '__ADDRESSABLE'
51 | __ADDRESSABLE(sym) | ^~~~~~~~~~~~~
include/linux/export.h:108:2: note: in expansion of macro '__KSYMTAB_ENTRY'
108 | __KSYMTAB_ENTRY(sym, sec)
| ^~~~~~~~~~~~~~~
include/linux/export.h:147:39: note: in expansion of macro '___EXPORT_SYMBOL'
147 | #define __EXPORT_SYMBOL(sym, sec, ns) ___EXPORT_SYMBOL(sym, sec, ns)
| ^~~~~~~~~~~~~~~~
include/linux/export.h:155:34: note: in expansion of macro '__EXPORT_SYMBOL'
155 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:159:33: note: in expansion of macro '_EXPORT_SYMBOL'
159 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1024:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~
include/linux/libata.h:1098:33: note: in expansion of macro 'NULL'
1098 | #define ata_scsi_dma_need_drain NULL
| ^~~~
drivers/ata/libata-scsi.c:1024:19: note: in expansion of macro 'ata_scsi_dma_need_drain'
1024 | EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +355 include/linux/compiler.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 346
7290d58095712a Ard Biesheuvel 2018-08-21 347 /*
7290d58095712a Ard Biesheuvel 2018-08-21 348 * Force the compiler to emit 'sym' as a symbol, so that we can reference
7290d58095712a Ard Biesheuvel 2018-08-21 349 * it from inline assembler. Necessary in case 'sym' could be inlined
7290d58095712a Ard Biesheuvel 2018-08-21 350 * otherwise, or eliminated entirely due to lack of references that are
7290d58095712a Ard Biesheuvel 2018-08-21 351 * visible to the compiler.
7290d58095712a Ard Biesheuvel 2018-08-21 352 */
7290d58095712a Ard Biesheuvel 2018-08-21 353 #define __ADDRESSABLE(sym) \
bfafddd8de426d Nick Desaulniers 2019-08-28 354 static void * __section(.discard.addressable) __used \
7290d58095712a Ard Biesheuvel 2018-08-21 @355 __PASTE(__addressable_##sym, __LINE__) = (void *)&sym;
7290d58095712a Ard Biesheuvel 2018-08-21 356
:::::: The code at line 355 was first introduced by commit
:::::: 7290d58095712a89f845e1bca05334796dd49ed2 module: use relative references for __ksymtab entries
:::::: TO: Ard Biesheuvel <ard.biesheuvel(a)linaro.org>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[chrome-os:chromeos-4.19 3/4] drivers/soc/mediatek/mtk-cmdq-helper.c:62:15: warning: too many arguments for format
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.19
head: 3583b0f74632e49a69d7af4bbdf44d8cdb4b2d59
commit: 24f9cfbc3921d4f2ded2adcc5e55160191d60958 [3/4] CHROMIUM: soc: cmdq: mediatek: add debug function
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 24f9cfbc3921d4f2ded2adcc5e55160191d60958
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from arch/alpha/include/asm/bug.h:23,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/alpha/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/wait.h:9,
from include/linux/completion.h:12,
from drivers/soc/mediatek/mtk-cmdq-helper.c:5:
drivers/soc/mediatek/mtk-cmdq-helper.c: In function 'cmdq_client_timeout':
>> drivers/soc/mediatek/mtk-cmdq-helper.c:62:15: warning: too many arguments for format [-Wformat-extra-args]
62 | WARN_ONCE(1, "cmdq timeout!n", client->client.dev);
| ^~~~~~~~~~~~~~~~~
include/asm-generic/bug.h:102:69: note: in definition of macro '__WARN_printf'
102 | #define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg)
| ^~~
include/asm-generic/bug.h:166:3: note: in expansion of macro 'WARN'
166 | WARN(1, format); | ^~~~
>> drivers/soc/mediatek/mtk-cmdq-helper.c:62:2: note: in expansion of macro 'WARN_ONCE'
62 | WARN_ONCE(1, "cmdq timeout!n", client->client.dev);
| ^~~~~~~~~
--
>> drivers/mailbox/mtk-cmdq-debug.c:28:6: warning: no previous prototype for 'cmdq_buf_print_write' [-Wmissing-prototypes]
28 | void cmdq_buf_print_write(struct device *dev, u32 offset,
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/mailbox/mtk-cmdq-debug.c:46:6: warning: no previous prototype for 'cmdq_buf_print_mask' [-Wmissing-prototypes]
46 | void cmdq_buf_print_mask(struct device *dev, u32 offset,
| ^~~~~~~~~~~~~~~~~~~
>> drivers/mailbox/mtk-cmdq-debug.c:52:6: warning: no previous prototype for 'cmdq_buf_print_misc' [-Wmissing-prototypes]
52 | void cmdq_buf_print_misc(struct device *dev, u32 offset,
| ^~~~~~~~~~~~~~~~~~~
vim +62 drivers/soc/mediatek/mtk-cmdq-helper.c
57
58 static void cmdq_client_timeout(struct timer_list *t)
59 {
60 struct cmdq_client *client = from_timer(client, t, timer);
61
> 62 WARN_ONCE(1, "cmdq timeout!\n", client->client.dev);
63 #ifdef CONFIG_MTK_CMDQ_DEBUG
64 mbox_free_channel(client->chan);
65 #endif
66 }
67
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH] iov_iter: Move unnecessary inclusion of crypto/hash.h
by kernel test robot
Hi Herbert,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.7 next-20200611]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Herbert-Xu/iov_iter-Move-unneces...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git b29482fde649c72441d5478a4ea2c52c56d97a5e
config: x86_64-randconfig-m001-20200611 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
drivers/mtd/mtdpstore.c: In function 'mtdpstore_notify_add':
>> drivers/mtd/mtdpstore.c:419:15: error: implicit declaration of function 'kcalloc' [-Werror=implicit-function-declaration]
419 | cxt->rmmap = kcalloc(longcnt, sizeof(long), GFP_KERNEL);
| ^~~~~~~
>> drivers/mtd/mtdpstore.c:419:13: warning: assignment to 'long unsigned int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
419 | cxt->rmmap = kcalloc(longcnt, sizeof(long), GFP_KERNEL);
| ^
drivers/mtd/mtdpstore.c:420:15: warning: assignment to 'long unsigned int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
420 | cxt->usedmap = kcalloc(longcnt, sizeof(long), GFP_KERNEL);
| ^
drivers/mtd/mtdpstore.c:423:14: warning: assignment to 'long unsigned int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
423 | cxt->badmap = kcalloc(longcnt, sizeof(long), GFP_KERNEL);
| ^
drivers/mtd/mtdpstore.c: In function 'mtdpstore_flush_removed_do':
>> drivers/mtd/mtdpstore.c:452:8: error: implicit declaration of function 'kmalloc' [-Werror=implicit-function-declaration]
452 | buf = kmalloc(mtd->erasesize, GFP_KERNEL);
| ^~~~~~~
>> drivers/mtd/mtdpstore.c:452:6: warning: assignment to 'u_char *' {aka 'unsigned char *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
452 | buf = kmalloc(mtd->erasesize, GFP_KERNEL);
| ^
>> drivers/mtd/mtdpstore.c:485:2: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration]
485 | kfree(buf);
| ^~~~~
cc1: some warnings being treated as errors
--
drivers/dma/sf-pdma/sf-pdma.c: In function 'sf_pdma_alloc_desc':
>> drivers/dma/sf-pdma/sf-pdma.c:65:9: error: implicit declaration of function 'kzalloc'; did you mean 'vzalloc'? [-Werror=implicit-function-declaration]
65 | desc = kzalloc(sizeof(*desc), GFP_NOWAIT);
| ^~~~~~~
| vzalloc
>> drivers/dma/sf-pdma/sf-pdma.c:65:7: warning: assignment to 'struct sf_pdma_desc *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
65 | desc = kzalloc(sizeof(*desc), GFP_NOWAIT);
| ^
drivers/dma/sf-pdma/sf-pdma.c: In function 'sf_pdma_free_chan_resources':
>> drivers/dma/sf-pdma/sf-pdma.c:155:2: error: implicit declaration of function 'kfree'; did you mean 'vfree'? [-Werror=implicit-function-declaration]
155 | kfree(chan->desc);
| ^~~~~
| vfree
cc1: some warnings being treated as errors
vim +/kcalloc +419 drivers/mtd/mtdpstore.c
78c08247b9d3e0 WeiXiong Liao 2020-03-25 379
78c08247b9d3e0 WeiXiong Liao 2020-03-25 380 static void mtdpstore_notify_add(struct mtd_info *mtd)
78c08247b9d3e0 WeiXiong Liao 2020-03-25 381 {
78c08247b9d3e0 WeiXiong Liao 2020-03-25 382 int ret;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 383 struct mtdpstore_context *cxt = &oops_cxt;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 384 struct pstore_blk_config *info = &cxt->info;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 385 unsigned long longcnt;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 386
78c08247b9d3e0 WeiXiong Liao 2020-03-25 387 if (!strcmp(mtd->name, info->device))
78c08247b9d3e0 WeiXiong Liao 2020-03-25 388 cxt->index = mtd->index;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 389
78c08247b9d3e0 WeiXiong Liao 2020-03-25 390 if (mtd->index != cxt->index || cxt->index < 0)
78c08247b9d3e0 WeiXiong Liao 2020-03-25 391 return;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 392
78c08247b9d3e0 WeiXiong Liao 2020-03-25 393 dev_dbg(&mtd->dev, "found matching MTD device %s\n", mtd->name);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 394
78c08247b9d3e0 WeiXiong Liao 2020-03-25 395 if (mtd->size < info->kmsg_size * 2) {
78c08247b9d3e0 WeiXiong Liao 2020-03-25 396 dev_err(&mtd->dev, "MTD partition %d not big enough\n",
78c08247b9d3e0 WeiXiong Liao 2020-03-25 397 mtd->index);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 398 return;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 399 }
78c08247b9d3e0 WeiXiong Liao 2020-03-25 400 /*
78c08247b9d3e0 WeiXiong Liao 2020-03-25 401 * kmsg_size must be aligned to 4096 Bytes, which is limited by
78c08247b9d3e0 WeiXiong Liao 2020-03-25 402 * psblk. The default value of kmsg_size is 64KB. If kmsg_size
78c08247b9d3e0 WeiXiong Liao 2020-03-25 403 * is larger than erasesize, some errors will occur since mtdpsotre
78c08247b9d3e0 WeiXiong Liao 2020-03-25 404 * is designed on it.
78c08247b9d3e0 WeiXiong Liao 2020-03-25 405 */
78c08247b9d3e0 WeiXiong Liao 2020-03-25 406 if (mtd->erasesize < info->kmsg_size) {
78c08247b9d3e0 WeiXiong Liao 2020-03-25 407 dev_err(&mtd->dev, "eraseblock size of MTD partition %d too small\n",
78c08247b9d3e0 WeiXiong Liao 2020-03-25 408 mtd->index);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 409 return;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 410 }
78c08247b9d3e0 WeiXiong Liao 2020-03-25 411 if (unlikely(info->kmsg_size % mtd->writesize)) {
78c08247b9d3e0 WeiXiong Liao 2020-03-25 412 dev_err(&mtd->dev, "record size %lu KB must align to write size %d KB\n",
78c08247b9d3e0 WeiXiong Liao 2020-03-25 413 info->kmsg_size / 1024,
78c08247b9d3e0 WeiXiong Liao 2020-03-25 414 mtd->writesize / 1024);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 415 return;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 416 }
78c08247b9d3e0 WeiXiong Liao 2020-03-25 417
78c08247b9d3e0 WeiXiong Liao 2020-03-25 418 longcnt = BITS_TO_LONGS(div_u64(mtd->size, info->kmsg_size));
78c08247b9d3e0 WeiXiong Liao 2020-03-25 @419 cxt->rmmap = kcalloc(longcnt, sizeof(long), GFP_KERNEL);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 420 cxt->usedmap = kcalloc(longcnt, sizeof(long), GFP_KERNEL);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 421
78c08247b9d3e0 WeiXiong Liao 2020-03-25 422 longcnt = BITS_TO_LONGS(div_u64(mtd->size, mtd->erasesize));
78c08247b9d3e0 WeiXiong Liao 2020-03-25 423 cxt->badmap = kcalloc(longcnt, sizeof(long), GFP_KERNEL);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 424
78c08247b9d3e0 WeiXiong Liao 2020-03-25 425 cxt->dev.total_size = mtd->size;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 426 /* just support dmesg right now */
78c08247b9d3e0 WeiXiong Liao 2020-03-25 427 cxt->dev.flags = PSTORE_FLAGS_DMESG;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 428 cxt->dev.read = mtdpstore_read;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 429 cxt->dev.write = mtdpstore_write;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 430 cxt->dev.erase = mtdpstore_erase;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 431 cxt->dev.panic_write = mtdpstore_panic_write;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 432
78c08247b9d3e0 WeiXiong Liao 2020-03-25 433 ret = register_pstore_device(&cxt->dev);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 434 if (ret) {
78c08247b9d3e0 WeiXiong Liao 2020-03-25 435 dev_err(&mtd->dev, "mtd%d register to psblk failed\n",
78c08247b9d3e0 WeiXiong Liao 2020-03-25 436 mtd->index);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 437 return;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 438 }
78c08247b9d3e0 WeiXiong Liao 2020-03-25 439 cxt->mtd = mtd;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 440 dev_info(&mtd->dev, "Attached to MTD device %d\n", mtd->index);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 441 }
78c08247b9d3e0 WeiXiong Liao 2020-03-25 442
78c08247b9d3e0 WeiXiong Liao 2020-03-25 443 static int mtdpstore_flush_removed_do(struct mtdpstore_context *cxt,
78c08247b9d3e0 WeiXiong Liao 2020-03-25 444 loff_t off, size_t size)
78c08247b9d3e0 WeiXiong Liao 2020-03-25 445 {
78c08247b9d3e0 WeiXiong Liao 2020-03-25 446 struct mtd_info *mtd = cxt->mtd;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 447 u_char *buf;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 448 int ret;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 449 size_t retlen;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 450 struct erase_info erase;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 451
78c08247b9d3e0 WeiXiong Liao 2020-03-25 @452 buf = kmalloc(mtd->erasesize, GFP_KERNEL);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 453 if (!buf)
78c08247b9d3e0 WeiXiong Liao 2020-03-25 454 return -ENOMEM;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 455
78c08247b9d3e0 WeiXiong Liao 2020-03-25 456 /* 1st. read to cache */
78c08247b9d3e0 WeiXiong Liao 2020-03-25 457 ret = mtd_read(mtd, off, mtd->erasesize, &retlen, buf);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 458 if (mtdpstore_is_io_error(ret))
78c08247b9d3e0 WeiXiong Liao 2020-03-25 459 goto free;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 460
78c08247b9d3e0 WeiXiong Liao 2020-03-25 461 /* 2nd. erase block */
78c08247b9d3e0 WeiXiong Liao 2020-03-25 462 erase.len = mtd->erasesize;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 463 erase.addr = off;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 464 ret = mtd_erase(mtd, &erase);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 465 if (ret)
78c08247b9d3e0 WeiXiong Liao 2020-03-25 466 goto free;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 467
78c08247b9d3e0 WeiXiong Liao 2020-03-25 468 /* 3rd. write back */
78c08247b9d3e0 WeiXiong Liao 2020-03-25 469 while (size) {
78c08247b9d3e0 WeiXiong Liao 2020-03-25 470 unsigned int zonesize = cxt->info.kmsg_size;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 471
78c08247b9d3e0 WeiXiong Liao 2020-03-25 472 /* there is valid data on block, write back */
78c08247b9d3e0 WeiXiong Liao 2020-03-25 473 if (mtdpstore_is_used(cxt, off)) {
78c08247b9d3e0 WeiXiong Liao 2020-03-25 474 ret = mtd_write(mtd, off, zonesize, &retlen, buf);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 475 if (ret)
78c08247b9d3e0 WeiXiong Liao 2020-03-25 476 dev_err(&mtd->dev, "write failure at %lld (%zu of %u written), err %d\n",
78c08247b9d3e0 WeiXiong Liao 2020-03-25 477 off, retlen, zonesize, ret);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 478 }
78c08247b9d3e0 WeiXiong Liao 2020-03-25 479
78c08247b9d3e0 WeiXiong Liao 2020-03-25 480 off += zonesize;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 481 size -= min_t(unsigned int, zonesize, size);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 482 }
78c08247b9d3e0 WeiXiong Liao 2020-03-25 483
78c08247b9d3e0 WeiXiong Liao 2020-03-25 484 free:
78c08247b9d3e0 WeiXiong Liao 2020-03-25 @485 kfree(buf);
78c08247b9d3e0 WeiXiong Liao 2020-03-25 486 return ret;
78c08247b9d3e0 WeiXiong Liao 2020-03-25 487 }
78c08247b9d3e0 WeiXiong Liao 2020-03-25 488
:::::: The code at line 419 was first introduced by commit
:::::: 78c08247b9d3e03192f8b359aa079024e805a948 mtd: Support kmsg dumper based on pstore/blk
:::::: TO: WeiXiong Liao <liaoweixiong(a)allwinnertech.com>
:::::: CC: Kees Cook <keescook(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH] iov_iter: Move unnecessary inclusion of crypto/hash.h
by kernel test robot
Hi Herbert,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.7 next-20200611]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Herbert-Xu/iov_iter-Move-unneces...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git b29482fde649c72441d5478a4ea2c52c56d97a5e
config: i386-randconfig-s001-20200611 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-250-g42323db3-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
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 >>)
>> net/core/datagram.c:512:25: sparse: sparse: incorrect type in argument 6 (incompatible argument 3 (different base types)) @@ expected unsigned int ( *cb )( ... ) @@ got unsigned int ( * )( ... ) @@
>> net/core/datagram.c:512:25: sparse: expected unsigned int ( *cb )( ... )
>> net/core/datagram.c:512:25: sparse: got unsigned int ( * )( ... )
include/linux/spinlock.h:398:9: sparse: sparse: context imbalance in '__skb_free_datagram_locked' - unexpected unlock
vim +512 net/core/datagram.c
950fcaecd5cc6c Sagi Grimberg 2018-12-03 497
65d69e2505bb64 Sagi Grimberg 2018-12-03 498 /**
65d69e2505bb64 Sagi Grimberg 2018-12-03 499 * skb_copy_and_hash_datagram_iter - Copy datagram to an iovec iterator
65d69e2505bb64 Sagi Grimberg 2018-12-03 500 * and update a hash.
65d69e2505bb64 Sagi Grimberg 2018-12-03 501 * @skb: buffer to copy
65d69e2505bb64 Sagi Grimberg 2018-12-03 502 * @offset: offset in the buffer to start copying from
65d69e2505bb64 Sagi Grimberg 2018-12-03 503 * @to: iovec iterator to copy to
65d69e2505bb64 Sagi Grimberg 2018-12-03 504 * @len: amount of data to copy from buffer to iovec
65d69e2505bb64 Sagi Grimberg 2018-12-03 505 * @hash: hash request to update
65d69e2505bb64 Sagi Grimberg 2018-12-03 506 */
65d69e2505bb64 Sagi Grimberg 2018-12-03 507 int skb_copy_and_hash_datagram_iter(const struct sk_buff *skb, int offset,
65d69e2505bb64 Sagi Grimberg 2018-12-03 508 struct iov_iter *to, int len,
65d69e2505bb64 Sagi Grimberg 2018-12-03 509 struct ahash_request *hash)
65d69e2505bb64 Sagi Grimberg 2018-12-03 510 {
65d69e2505bb64 Sagi Grimberg 2018-12-03 511 return __skb_datagram_iter(skb, offset, to, len, true,
65d69e2505bb64 Sagi Grimberg 2018-12-03 @512 hash_and_copy_to_iter, hash);
65d69e2505bb64 Sagi Grimberg 2018-12-03 513 }
65d69e2505bb64 Sagi Grimberg 2018-12-03 514 EXPORT_SYMBOL(skb_copy_and_hash_datagram_iter);
65d69e2505bb64 Sagi Grimberg 2018-12-03 515
:::::: The code at line 512 was first introduced by commit
:::::: 65d69e2505bb64f6a8d7f417f6e46e2a351174c6 datagram: introduce skb_copy_and_hash_datagram_iter helper
:::::: TO: Sagi Grimberg <sagi(a)lightbitslabs.com>
:::::: CC: Christoph Hellwig <hch(a)lst.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH] iov_iter: Move unnecessary inclusion of crypto/hash.h
by kernel test robot
Hi Herbert,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.7 next-20200611]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Herbert-Xu/iov_iter-Move-unneces...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git b29482fde649c72441d5478a4ea2c52c56d97a5e
config: x86_64-randconfig-s021-20200611 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-250-g42323db3-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
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 >>)
>> net/core/datagram.c:512:25: sparse: sparse: incorrect type in argument 6 (incompatible argument 3 (different base types)) @@ expected unsigned long ( *cb )( ... ) @@ got unsigned long ( * )( ... ) @@
>> net/core/datagram.c:512:25: sparse: expected unsigned long ( *cb )( ... )
>> net/core/datagram.c:512:25: sparse: got unsigned long ( * )( ... )
include/net/sock.h:1603:31: sparse: sparse: context imbalance in '__skb_free_datagram_locked' - unexpected unlock
vim +512 net/core/datagram.c
950fcaecd5cc6c0 Sagi Grimberg 2018-12-03 497
65d69e2505bb64f Sagi Grimberg 2018-12-03 498 /**
65d69e2505bb64f Sagi Grimberg 2018-12-03 499 * skb_copy_and_hash_datagram_iter - Copy datagram to an iovec iterator
65d69e2505bb64f Sagi Grimberg 2018-12-03 500 * and update a hash.
65d69e2505bb64f Sagi Grimberg 2018-12-03 501 * @skb: buffer to copy
65d69e2505bb64f Sagi Grimberg 2018-12-03 502 * @offset: offset in the buffer to start copying from
65d69e2505bb64f Sagi Grimberg 2018-12-03 503 * @to: iovec iterator to copy to
65d69e2505bb64f Sagi Grimberg 2018-12-03 504 * @len: amount of data to copy from buffer to iovec
65d69e2505bb64f Sagi Grimberg 2018-12-03 505 * @hash: hash request to update
65d69e2505bb64f Sagi Grimberg 2018-12-03 506 */
65d69e2505bb64f Sagi Grimberg 2018-12-03 507 int skb_copy_and_hash_datagram_iter(const struct sk_buff *skb, int offset,
65d69e2505bb64f Sagi Grimberg 2018-12-03 508 struct iov_iter *to, int len,
65d69e2505bb64f Sagi Grimberg 2018-12-03 509 struct ahash_request *hash)
65d69e2505bb64f Sagi Grimberg 2018-12-03 510 {
65d69e2505bb64f Sagi Grimberg 2018-12-03 511 return __skb_datagram_iter(skb, offset, to, len, true,
65d69e2505bb64f Sagi Grimberg 2018-12-03 @512 hash_and_copy_to_iter, hash);
65d69e2505bb64f Sagi Grimberg 2018-12-03 513 }
65d69e2505bb64f Sagi Grimberg 2018-12-03 514 EXPORT_SYMBOL(skb_copy_and_hash_datagram_iter);
65d69e2505bb64f Sagi Grimberg 2018-12-03 515
:::::: The code at line 512 was first introduced by commit
:::::: 65d69e2505bb64f6a8d7f417f6e46e2a351174c6 datagram: introduce skb_copy_and_hash_datagram_iter helper
:::::: TO: Sagi Grimberg <sagi(a)lightbitslabs.com>
:::::: CC: Christoph Hellwig <hch(a)lst.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[lpieralisi:for-review/acpi-iort-id-rework 12/12] drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c:139:2: error: implicit declaration of function 'acpi_table_parse_madt'; did you mean
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git for-review/acpi-iort-id-rework
head: 58364a30829b3f168fc65c7ce94f0d9354f052fe
commit: 58364a30829b3f168fc65c7ce94f0d9354f052fe [12/12] bus: fsl-mc: Add ACPI support for fsl-mc
config: arm64-randconfig-r011-20200611 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 58364a30829b3f168fc65c7ce94f0d9354f052fe
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
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 >>, old ones prefixed by <<):
drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c:109:33: warning: 'union acpi_subtable_headers' declared inside parameter list will not be visible outside of this definition or declaration
109 | its_fsl_mc_msi_parse_madt(union acpi_subtable_headers *header,
| ^~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c: In function 'its_fsl_mc_acpi_msi_init':
>> drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c:139:2: error: implicit declaration of function 'acpi_table_parse_madt'; did you mean 'acpi_table_parse'? [-Werror=implicit-function-declaration]
139 | acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_TRANSLATOR,
| ^~~~~~~~~~~~~~~~~~~~~
| acpi_table_parse
cc1: some warnings being treated as errors
vim +139 drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c
135
136
137 static int __init its_fsl_mc_acpi_msi_init(void)
138 {
> 139 acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_TRANSLATOR,
140 its_fsl_mc_msi_parse_madt, 0);
141
142 return 0;
143 }
144
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH] iov_iter: Move unnecessary inclusion of crypto/hash.h
by kernel test robot
Hi Herbert,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.7 next-20200611]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Herbert-Xu/iov_iter-Move-unneces...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git b29482fde649c72441d5478a4ea2c52c56d97a5e
config: c6x-allyesconfig (attached as .config)
compiler: c6x-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=c6x
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
drivers/soc/qcom/pdr_interface.c: In function 'pdr_indack_work':
>> drivers/soc/qcom/pdr_interface.c:292:3: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration]
292 | kfree(ind);
| ^~~~~
drivers/soc/qcom/pdr_interface.c: In function 'pdr_indication_cb':
>> drivers/soc/qcom/pdr_interface.c:328:8: error: implicit declaration of function 'kzalloc' [-Werror=implicit-function-declaration]
328 | ind = kzalloc(sizeof(*ind), GFP_KERNEL);
| ^~~~~~~
>> drivers/soc/qcom/pdr_interface.c:328:6: warning: assignment to 'struct pdr_list_node *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
328 | ind = kzalloc(sizeof(*ind), GFP_KERNEL);
| ^
drivers/soc/qcom/pdr_interface.c: In function 'pdr_locate_service':
>> drivers/soc/qcom/pdr_interface.c:401:7: warning: assignment to 'struct servreg_get_domain_list_resp *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
401 | resp = kzalloc(sizeof(*resp), GFP_KERNEL);
| ^
drivers/soc/qcom/pdr_interface.c: In function 'pdr_add_lookup':
>> drivers/soc/qcom/pdr_interface.c:526:6: warning: assignment to 'struct pdr_service *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
526 | pds = kzalloc(sizeof(*pds), GFP_KERNEL);
| ^
drivers/soc/qcom/pdr_interface.c: In function 'pdr_handle_alloc':
>> drivers/soc/qcom/pdr_interface.c:656:6: warning: assignment to 'struct pdr_handle *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
656 | pdr = kzalloc(sizeof(*pdr), GFP_KERNEL);
| ^
cc1: some warnings being treated as errors
vim +/kfree +292 drivers/soc/qcom/pdr_interface.c
fbe639b44a8275 Sibi Sankar 2020-03-12 271
fbe639b44a8275 Sibi Sankar 2020-03-12 272 static void pdr_indack_work(struct work_struct *work)
fbe639b44a8275 Sibi Sankar 2020-03-12 273 {
fbe639b44a8275 Sibi Sankar 2020-03-12 274 struct pdr_handle *pdr = container_of(work, struct pdr_handle,
fbe639b44a8275 Sibi Sankar 2020-03-12 275 indack_work);
fbe639b44a8275 Sibi Sankar 2020-03-12 276 struct pdr_list_node *ind, *tmp;
fbe639b44a8275 Sibi Sankar 2020-03-12 277 struct pdr_service *pds;
fbe639b44a8275 Sibi Sankar 2020-03-12 278
fbe639b44a8275 Sibi Sankar 2020-03-12 279 list_for_each_entry_safe(ind, tmp, &pdr->indack_list, node) {
fbe639b44a8275 Sibi Sankar 2020-03-12 280 pds = ind->pds;
fbe639b44a8275 Sibi Sankar 2020-03-12 281 pdr_send_indack_msg(pdr, pds, ind->transaction_id);
fbe639b44a8275 Sibi Sankar 2020-03-12 282
fbe639b44a8275 Sibi Sankar 2020-03-12 283 mutex_lock(&pdr->status_lock);
fbe639b44a8275 Sibi Sankar 2020-03-12 284 pds->state = ind->curr_state;
fbe639b44a8275 Sibi Sankar 2020-03-12 285 pdr->status(pds->state, pds->service_path, pdr->priv);
fbe639b44a8275 Sibi Sankar 2020-03-12 286 mutex_unlock(&pdr->status_lock);
fbe639b44a8275 Sibi Sankar 2020-03-12 287
fbe639b44a8275 Sibi Sankar 2020-03-12 288 mutex_lock(&pdr->list_lock);
fbe639b44a8275 Sibi Sankar 2020-03-12 289 list_del(&ind->node);
fbe639b44a8275 Sibi Sankar 2020-03-12 290 mutex_unlock(&pdr->list_lock);
fbe639b44a8275 Sibi Sankar 2020-03-12 291
fbe639b44a8275 Sibi Sankar 2020-03-12 @292 kfree(ind);
fbe639b44a8275 Sibi Sankar 2020-03-12 293 }
fbe639b44a8275 Sibi Sankar 2020-03-12 294 }
fbe639b44a8275 Sibi Sankar 2020-03-12 295
fbe639b44a8275 Sibi Sankar 2020-03-12 296 static void pdr_indication_cb(struct qmi_handle *qmi,
fbe639b44a8275 Sibi Sankar 2020-03-12 297 struct sockaddr_qrtr *sq,
fbe639b44a8275 Sibi Sankar 2020-03-12 298 struct qmi_txn *txn, const void *data)
fbe639b44a8275 Sibi Sankar 2020-03-12 299 {
fbe639b44a8275 Sibi Sankar 2020-03-12 300 struct pdr_handle *pdr = container_of(qmi, struct pdr_handle,
fbe639b44a8275 Sibi Sankar 2020-03-12 301 notifier_hdl);
fbe639b44a8275 Sibi Sankar 2020-03-12 302 const struct servreg_state_updated_ind *ind_msg = data;
fbe639b44a8275 Sibi Sankar 2020-03-12 303 struct pdr_list_node *ind;
fbe639b44a8275 Sibi Sankar 2020-03-12 304 struct pdr_service *pds;
e69b3bede1b2f7 Nathan Chancellor 2020-03-16 305 bool found = false;
fbe639b44a8275 Sibi Sankar 2020-03-12 306
fbe639b44a8275 Sibi Sankar 2020-03-12 307 if (!ind_msg || !ind_msg->service_path[0] ||
fbe639b44a8275 Sibi Sankar 2020-03-12 308 strlen(ind_msg->service_path) > SERVREG_NAME_LENGTH)
fbe639b44a8275 Sibi Sankar 2020-03-12 309 return;
fbe639b44a8275 Sibi Sankar 2020-03-12 310
fbe639b44a8275 Sibi Sankar 2020-03-12 311 mutex_lock(&pdr->list_lock);
fbe639b44a8275 Sibi Sankar 2020-03-12 312 list_for_each_entry(pds, &pdr->lookups, node) {
fbe639b44a8275 Sibi Sankar 2020-03-12 313 if (strcmp(pds->service_path, ind_msg->service_path))
fbe639b44a8275 Sibi Sankar 2020-03-12 314 continue;
fbe639b44a8275 Sibi Sankar 2020-03-12 315
fbe639b44a8275 Sibi Sankar 2020-03-12 316 found = true;
fbe639b44a8275 Sibi Sankar 2020-03-12 317 break;
fbe639b44a8275 Sibi Sankar 2020-03-12 318 }
fbe639b44a8275 Sibi Sankar 2020-03-12 319 mutex_unlock(&pdr->list_lock);
fbe639b44a8275 Sibi Sankar 2020-03-12 320
fbe639b44a8275 Sibi Sankar 2020-03-12 321 if (!found)
fbe639b44a8275 Sibi Sankar 2020-03-12 322 return;
fbe639b44a8275 Sibi Sankar 2020-03-12 323
fbe639b44a8275 Sibi Sankar 2020-03-12 324 pr_info("PDR: Indication received from %s, state: 0x%x, trans-id: %d\n",
fbe639b44a8275 Sibi Sankar 2020-03-12 325 ind_msg->service_path, ind_msg->curr_state,
fbe639b44a8275 Sibi Sankar 2020-03-12 326 ind_msg->transaction_id);
fbe639b44a8275 Sibi Sankar 2020-03-12 327
fbe639b44a8275 Sibi Sankar 2020-03-12 @328 ind = kzalloc(sizeof(*ind), GFP_KERNEL);
fbe639b44a8275 Sibi Sankar 2020-03-12 329 if (!ind)
fbe639b44a8275 Sibi Sankar 2020-03-12 330 return;
fbe639b44a8275 Sibi Sankar 2020-03-12 331
fbe639b44a8275 Sibi Sankar 2020-03-12 332 ind->transaction_id = ind_msg->transaction_id;
fbe639b44a8275 Sibi Sankar 2020-03-12 333 ind->curr_state = ind_msg->curr_state;
fbe639b44a8275 Sibi Sankar 2020-03-12 334 ind->pds = pds;
fbe639b44a8275 Sibi Sankar 2020-03-12 335
fbe639b44a8275 Sibi Sankar 2020-03-12 336 mutex_lock(&pdr->list_lock);
fbe639b44a8275 Sibi Sankar 2020-03-12 337 list_add_tail(&ind->node, &pdr->indack_list);
fbe639b44a8275 Sibi Sankar 2020-03-12 338 mutex_unlock(&pdr->list_lock);
fbe639b44a8275 Sibi Sankar 2020-03-12 339
fbe639b44a8275 Sibi Sankar 2020-03-12 340 queue_work(pdr->indack_wq, &pdr->indack_work);
fbe639b44a8275 Sibi Sankar 2020-03-12 341 }
fbe639b44a8275 Sibi Sankar 2020-03-12 342
fbe639b44a8275 Sibi Sankar 2020-03-12 343 static struct qmi_msg_handler qmi_indication_handler[] = {
fbe639b44a8275 Sibi Sankar 2020-03-12 344 {
fbe639b44a8275 Sibi Sankar 2020-03-12 345 .type = QMI_INDICATION,
fbe639b44a8275 Sibi Sankar 2020-03-12 346 .msg_id = SERVREG_STATE_UPDATED_IND_ID,
fbe639b44a8275 Sibi Sankar 2020-03-12 347 .ei = servreg_state_updated_ind_ei,
fbe639b44a8275 Sibi Sankar 2020-03-12 348 .decoded_size = sizeof(struct servreg_state_updated_ind),
fbe639b44a8275 Sibi Sankar 2020-03-12 349 .fn = pdr_indication_cb,
fbe639b44a8275 Sibi Sankar 2020-03-12 350 },
fbe639b44a8275 Sibi Sankar 2020-03-12 351 {}
fbe639b44a8275 Sibi Sankar 2020-03-12 352 };
fbe639b44a8275 Sibi Sankar 2020-03-12 353
fbe639b44a8275 Sibi Sankar 2020-03-12 354 static int pdr_get_domain_list(struct servreg_get_domain_list_req *req,
fbe639b44a8275 Sibi Sankar 2020-03-12 355 struct servreg_get_domain_list_resp *resp,
fbe639b44a8275 Sibi Sankar 2020-03-12 356 struct pdr_handle *pdr)
fbe639b44a8275 Sibi Sankar 2020-03-12 357 {
fbe639b44a8275 Sibi Sankar 2020-03-12 358 struct qmi_txn txn;
fbe639b44a8275 Sibi Sankar 2020-03-12 359 int ret;
fbe639b44a8275 Sibi Sankar 2020-03-12 360
fbe639b44a8275 Sibi Sankar 2020-03-12 361 ret = qmi_txn_init(&pdr->locator_hdl, &txn,
fbe639b44a8275 Sibi Sankar 2020-03-12 362 servreg_get_domain_list_resp_ei, resp);
fbe639b44a8275 Sibi Sankar 2020-03-12 363 if (ret < 0)
fbe639b44a8275 Sibi Sankar 2020-03-12 364 return ret;
fbe639b44a8275 Sibi Sankar 2020-03-12 365
fbe639b44a8275 Sibi Sankar 2020-03-12 366 ret = qmi_send_request(&pdr->locator_hdl,
fbe639b44a8275 Sibi Sankar 2020-03-12 367 &pdr->locator_addr,
fbe639b44a8275 Sibi Sankar 2020-03-12 368 &txn, SERVREG_GET_DOMAIN_LIST_REQ,
fbe639b44a8275 Sibi Sankar 2020-03-12 369 SERVREG_GET_DOMAIN_LIST_REQ_MAX_LEN,
fbe639b44a8275 Sibi Sankar 2020-03-12 370 servreg_get_domain_list_req_ei,
fbe639b44a8275 Sibi Sankar 2020-03-12 371 req);
fbe639b44a8275 Sibi Sankar 2020-03-12 372 if (ret < 0) {
fbe639b44a8275 Sibi Sankar 2020-03-12 373 qmi_txn_cancel(&txn);
fbe639b44a8275 Sibi Sankar 2020-03-12 374 return ret;
fbe639b44a8275 Sibi Sankar 2020-03-12 375 }
fbe639b44a8275 Sibi Sankar 2020-03-12 376
fbe639b44a8275 Sibi Sankar 2020-03-12 377 ret = qmi_txn_wait(&txn, 5 * HZ);
fbe639b44a8275 Sibi Sankar 2020-03-12 378 if (ret < 0) {
fbe639b44a8275 Sibi Sankar 2020-03-12 379 pr_err("PDR: %s get domain list txn wait failed: %d\n",
fbe639b44a8275 Sibi Sankar 2020-03-12 380 req->service_name, ret);
fbe639b44a8275 Sibi Sankar 2020-03-12 381 return ret;
fbe639b44a8275 Sibi Sankar 2020-03-12 382 }
fbe639b44a8275 Sibi Sankar 2020-03-12 383
fbe639b44a8275 Sibi Sankar 2020-03-12 384 if (resp->resp.result != QMI_RESULT_SUCCESS_V01) {
fbe639b44a8275 Sibi Sankar 2020-03-12 385 pr_err("PDR: %s get domain list failed: 0x%x\n",
fbe639b44a8275 Sibi Sankar 2020-03-12 386 req->service_name, resp->resp.error);
fbe639b44a8275 Sibi Sankar 2020-03-12 387 return -EREMOTEIO;
fbe639b44a8275 Sibi Sankar 2020-03-12 388 }
fbe639b44a8275 Sibi Sankar 2020-03-12 389
fbe639b44a8275 Sibi Sankar 2020-03-12 390 return 0;
fbe639b44a8275 Sibi Sankar 2020-03-12 391 }
fbe639b44a8275 Sibi Sankar 2020-03-12 392
fbe639b44a8275 Sibi Sankar 2020-03-12 393 static int pdr_locate_service(struct pdr_handle *pdr, struct pdr_service *pds)
fbe639b44a8275 Sibi Sankar 2020-03-12 394 {
fbe639b44a8275 Sibi Sankar 2020-03-12 395 struct servreg_get_domain_list_resp *resp;
fbe639b44a8275 Sibi Sankar 2020-03-12 396 struct servreg_get_domain_list_req req;
fbe639b44a8275 Sibi Sankar 2020-03-12 397 struct servreg_location_entry *entry;
fbe639b44a8275 Sibi Sankar 2020-03-12 398 int domains_read = 0;
fbe639b44a8275 Sibi Sankar 2020-03-12 399 int ret, i;
fbe639b44a8275 Sibi Sankar 2020-03-12 400
fbe639b44a8275 Sibi Sankar 2020-03-12 @401 resp = kzalloc(sizeof(*resp), GFP_KERNEL);
fbe639b44a8275 Sibi Sankar 2020-03-12 402 if (!resp)
fbe639b44a8275 Sibi Sankar 2020-03-12 403 return -ENOMEM;
fbe639b44a8275 Sibi Sankar 2020-03-12 404
fbe639b44a8275 Sibi Sankar 2020-03-12 405 /* Prepare req message */
fbe639b44a8275 Sibi Sankar 2020-03-12 406 strcpy(req.service_name, pds->service_name);
fbe639b44a8275 Sibi Sankar 2020-03-12 407 req.domain_offset_valid = true;
fbe639b44a8275 Sibi Sankar 2020-03-12 408 req.domain_offset = 0;
fbe639b44a8275 Sibi Sankar 2020-03-12 409
fbe639b44a8275 Sibi Sankar 2020-03-12 410 do {
fbe639b44a8275 Sibi Sankar 2020-03-12 411 req.domain_offset = domains_read;
fbe639b44a8275 Sibi Sankar 2020-03-12 412 ret = pdr_get_domain_list(&req, resp, pdr);
fbe639b44a8275 Sibi Sankar 2020-03-12 413 if (ret < 0)
fbe639b44a8275 Sibi Sankar 2020-03-12 414 goto out;
fbe639b44a8275 Sibi Sankar 2020-03-12 415
fbe639b44a8275 Sibi Sankar 2020-03-12 416 for (i = domains_read; i < resp->domain_list_len; i++) {
fbe639b44a8275 Sibi Sankar 2020-03-12 417 entry = &resp->domain_list[i];
fbe639b44a8275 Sibi Sankar 2020-03-12 418
fbe639b44a8275 Sibi Sankar 2020-03-12 419 if (strnlen(entry->name, sizeof(entry->name)) == sizeof(entry->name))
fbe639b44a8275 Sibi Sankar 2020-03-12 420 continue;
fbe639b44a8275 Sibi Sankar 2020-03-12 421
fbe639b44a8275 Sibi Sankar 2020-03-12 422 if (!strcmp(entry->name, pds->service_path)) {
fbe639b44a8275 Sibi Sankar 2020-03-12 423 pds->service_data_valid = entry->service_data_valid;
fbe639b44a8275 Sibi Sankar 2020-03-12 424 pds->service_data = entry->service_data;
fbe639b44a8275 Sibi Sankar 2020-03-12 425 pds->instance = entry->instance;
fbe639b44a8275 Sibi Sankar 2020-03-12 426 goto out;
fbe639b44a8275 Sibi Sankar 2020-03-12 427 }
fbe639b44a8275 Sibi Sankar 2020-03-12 428 }
fbe639b44a8275 Sibi Sankar 2020-03-12 429
fbe639b44a8275 Sibi Sankar 2020-03-12 430 /* Update ret to indicate that the service is not yet found */
fbe639b44a8275 Sibi Sankar 2020-03-12 431 ret = -ENXIO;
fbe639b44a8275 Sibi Sankar 2020-03-12 432
fbe639b44a8275 Sibi Sankar 2020-03-12 433 /* Always read total_domains from the response msg */
fbe639b44a8275 Sibi Sankar 2020-03-12 434 if (resp->domain_list_len > resp->total_domains)
fbe639b44a8275 Sibi Sankar 2020-03-12 435 resp->domain_list_len = resp->total_domains;
fbe639b44a8275 Sibi Sankar 2020-03-12 436
fbe639b44a8275 Sibi Sankar 2020-03-12 437 domains_read += resp->domain_list_len;
fbe639b44a8275 Sibi Sankar 2020-03-12 438 } while (domains_read < resp->total_domains);
fbe639b44a8275 Sibi Sankar 2020-03-12 439 out:
fbe639b44a8275 Sibi Sankar 2020-03-12 440 kfree(resp);
fbe639b44a8275 Sibi Sankar 2020-03-12 441 return ret;
fbe639b44a8275 Sibi Sankar 2020-03-12 442 }
fbe639b44a8275 Sibi Sankar 2020-03-12 443
:::::: The code at line 292 was first introduced by commit
:::::: fbe639b44a82755d639df1c5d147c93f02ac5a0f soc: qcom: Introduce Protection Domain Restart helpers
:::::: TO: Sibi Sankar <sibis(a)codeaurora.org>
:::::: CC: Bjorn Andersson <bjorn.andersson(a)linaro.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1130 mt7915_mac_sta_stats_work() warn: test_bit() takes a bit number
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b29482fde649c72441d5478a4ea2c52c56d97a5e
commit: e57b7901469fc0b021930b83a8094baaf3d81b09 mt76: add mac80211 driver for MT7915 PCIe-based chipsets
config: x86_64-randconfig-m031-20200611 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1130 mt7915_mac_sta_stats_work() warn: test_bit() takes a bit number
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout e57b7901469fc0b021930b83a8094baaf3d81b09
vim +1130 drivers/net/wireless/mediatek/mt76/mt7915/mac.c
e57b7901469fc0 Ryder Lee 2020-04-25 1108 void mt7915_mac_sta_stats_work(struct work_struct *work)
e57b7901469fc0 Ryder Lee 2020-04-25 1109 {
e57b7901469fc0 Ryder Lee 2020-04-25 1110 struct ieee80211_sta *sta;
e57b7901469fc0 Ryder Lee 2020-04-25 1111 struct ieee80211_vif *vif;
e57b7901469fc0 Ryder Lee 2020-04-25 1112 struct mt7915_sta_stats *stats;
e57b7901469fc0 Ryder Lee 2020-04-25 1113 struct mt7915_sta *msta;
e57b7901469fc0 Ryder Lee 2020-04-25 1114 struct mt7915_dev *dev;
e57b7901469fc0 Ryder Lee 2020-04-25 1115
e57b7901469fc0 Ryder Lee 2020-04-25 1116 msta = container_of(work, struct mt7915_sta, stats_work);
e57b7901469fc0 Ryder Lee 2020-04-25 1117 sta = container_of((void *)msta, struct ieee80211_sta, drv_priv);
e57b7901469fc0 Ryder Lee 2020-04-25 1118 vif = container_of((void *)msta->vif, struct ieee80211_vif, drv_priv);
e57b7901469fc0 Ryder Lee 2020-04-25 1119 dev = msta->vif->dev;
e57b7901469fc0 Ryder Lee 2020-04-25 1120 stats = &msta->stats;
e57b7901469fc0 Ryder Lee 2020-04-25 1121
e57b7901469fc0 Ryder Lee 2020-04-25 1122 /* use MT_TX_FREE_RATE to report Tx rate for further devices */
e57b7901469fc0 Ryder Lee 2020-04-25 1123 if (time_after(jiffies, stats->jiffies + HZ)) {
e57b7901469fc0 Ryder Lee 2020-04-25 1124 mt7915_mcu_get_rate_info(dev, RATE_CTRL_RU_INFO,
e57b7901469fc0 Ryder Lee 2020-04-25 1125 msta->wcid.idx);
e57b7901469fc0 Ryder Lee 2020-04-25 1126
e57b7901469fc0 Ryder Lee 2020-04-25 1127 stats->jiffies = jiffies;
e57b7901469fc0 Ryder Lee 2020-04-25 1128 }
e57b7901469fc0 Ryder Lee 2020-04-25 1129
e57b7901469fc0 Ryder Lee 2020-04-25 @1130 if (test_and_clear_bit(IEEE80211_RC_SUPP_RATES_CHANGED |
e57b7901469fc0 Ryder Lee 2020-04-25 1131 IEEE80211_RC_NSS_CHANGED |
e57b7901469fc0 Ryder Lee 2020-04-25 1132 IEEE80211_RC_BW_CHANGED, &stats->changed))
The test_and_clear_bit() takes a bit number like 1. But this is
passing "(1 << 1) | ...". It won't work at all.
e57b7901469fc0 Ryder Lee 2020-04-25 1133 mt7915_mcu_add_rate_ctrl(dev, vif, sta);
e57b7901469fc0 Ryder Lee 2020-04-25 1134
e57b7901469fc0 Ryder Lee 2020-04-25 1135 if (test_and_clear_bit(IEEE80211_RC_SMPS_CHANGED, &stats->changed))
e57b7901469fc0 Ryder Lee 2020-04-25 1136 mt7915_mcu_add_smps(dev, vif, sta);
e57b7901469fc0 Ryder Lee 2020-04-25 1137
e57b7901469fc0 Ryder Lee 2020-04-25 1138 spin_lock_bh(&dev->sta_poll_lock);
e57b7901469fc0 Ryder Lee 2020-04-25 1139 if (list_empty(&msta->poll_list))
e57b7901469fc0 Ryder Lee 2020-04-25 1140 list_add_tail(&msta->poll_list, &dev->sta_poll_list);
e57b7901469fc0 Ryder Lee 2020-04-25 1141 spin_unlock_bh(&dev->sta_poll_lock);
e57b7901469fc0 Ryder Lee 2020-04-25 1142 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months