[hch-misc:blkdev_get-cleanups 8/14] drivers/s390/block/dasd_genhd.c:107:10: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'int'
by kernel test robot
tree: git://git.infradead.org/users/hch/misc.git blkdev_get-cleanups
head: 55dac63d56fe4cf5e47acc2fa99ac6213d6c96c1
commit: 2acfd13168491a99627a7452856a49c851a3e165 [8/14] dasd: cleanup dasd_scan_partitions
config: s390-allyesconfig (attached as .config)
compiler: s390-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 2acfd13168491a99627a7452856a49c851a3e165
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390
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 >>):
In file included from drivers/s390/block/dasd_int.h:56,
from drivers/s390/block/dasd_genhd.c:25:
drivers/s390/block/dasd_genhd.c: In function 'dasd_scan_partitions':
>> drivers/s390/block/dasd_genhd.c:107:10: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'int' [-Wformat=]
107 | "scan partitions error, blkdev_get returned %ld",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
108 | IS_ERR(bdev));
| ~~~~~~~~~~~~
| |
| int
arch/s390/include/asm/debug.h:256:12: note: in definition of macro 'debug_sprintf_event'
256 | _fmt, ## __VA_ARGS__); \
| ^~~~
drivers/s390/block/dasd_genhd.c:106:3: note: in expansion of macro 'DBF_DEV_EVENT'
106 | DBF_DEV_EVENT(DBF_ERR, block->base,
| ^~~~~~~~~~~~~
drivers/s390/block/dasd_genhd.c:107:56: note: format string is defined here
107 | "scan partitions error, blkdev_get returned %ld",
| ~~^
| |
| long int
| %d
git remote add hch-misc git://git.infradead.org/users/hch/misc.git
git fetch --no-tags hch-misc blkdev_get-cleanups
git checkout 2acfd13168491a99627a7452856a49c851a3e165
vim +107 drivers/s390/block/dasd_genhd.c
95
96 /*
97 * Trigger a partition detection.
98 */
99 int dasd_scan_partitions(struct dasd_block *block)
100 {
101 struct block_device *bdev;
102 int rc;
103
104 bdev = blkdev_get_by_dev(disk_devt(block->gdp), FMODE_READ, NULL);
105 if (IS_ERR(bdev)) {
106 DBF_DEV_EVENT(DBF_ERR, block->base,
> 107 "scan partitions error, blkdev_get returned %ld",
108 IS_ERR(bdev));
109 return -ENODEV;
110 }
111
112 mutex_lock(&bdev->bd_mutex);
113 rc = bdev_disk_changed(bdev, false);
114 mutex_unlock(&bdev->bd_mutex);
115 if (rc)
116 DBF_DEV_EVENT(DBF_ERR, block->base,
117 "scan partitions error, rc %d", rc);
118
119 /*
120 * Since the matching blkdev_put call to the blkdev_get in
121 * this function is not called before dasd_destroy_partitions
122 * the offline open_count limit needs to be increased from
123 * 0 to 1. This is done by setting device->bdev (see
124 * dasd_generic_set_offline). As long as the partition
125 * detection is running no offline should be allowed. That
126 * is why the assignment to device->bdev is done AFTER
127 * the BLKRRPART ioctl.
128 */
129 block->bdev = bdev;
130 return 0;
131 }
132
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[arnd-playground:arm-kill-set_fs-3 34/37] drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:904:7: warning: variable 'ret' is uninitialized when used here
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git arm-kill-set_fs-3
head: a817d8974430d0e8da637c85535ab678d1b19f59
commit: a6d32b05893b32de817f317991435715dc78e16d [34/37] vchiq temp
config: x86_64-randconfig-a006-20200917 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1321160a26e7e489baf9b10d6de90a342f898960)
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 a6d32b05893b32de817f317991435715dc78e16d
# 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 warnings (new ones prefixed by >>):
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:904:7: warning: variable 'ret' is uninitialized when used here [-Wuninitialized]
if (ret)
^~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:867:9: note: initialize the variable 'ret' to silence this warning
int ret;
^
= 0
1 warning generated.
# https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commi...
git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
git fetch --no-tags arnd-playground arm-kill-set_fs-3
git checkout a6d32b05893b32de817f317991435715dc78e16d
vim +/ret +904 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
860
861 static int vchiq_ioc_dequeue_message(struct vchiq_instance *instance,
862 struct vchiq_dequeue_message *args)
863 {
864 struct user_service *user_service;
865 struct vchiq_service *service;
866 struct vchiq_header *header;
867 int ret;
868
869 DEBUG_INITIALISE(g_state.local)
870 DEBUG_TRACE(DEQUEUE_MESSAGE_LINE);
871 service = find_service_for_instance(instance, args->handle);
872 if (!service)
873 return -EINVAL;
874
875 user_service = (struct user_service *)service->base.userdata;
876 if (user_service->is_vchi == 0) {
877 ret = -EINVAL;
878 goto out;
879 }
880
881 spin_lock(&msg_queue_spinlock);
882 if (user_service->msg_remove == user_service->msg_insert) {
883 if (!args->blocking) {
884 spin_unlock(&msg_queue_spinlock);
885 DEBUG_TRACE(DEQUEUE_MESSAGE_LINE);
886 ret = -EWOULDBLOCK;
887 goto out;
888 }
889 user_service->dequeue_pending = 1;
890 do {
891 spin_unlock(&msg_queue_spinlock);
892 DEBUG_TRACE(DEQUEUE_MESSAGE_LINE);
893 if (wait_for_completion_interruptible(
894 &user_service->insert_event)) {
895 vchiq_log_info(vchiq_arm_log_level,
896 "DEQUEUE_MESSAGE interrupted");
897 ret = -EINTR;
898 goto out;
899 }
900 spin_lock(&msg_queue_spinlock);
901 } while (user_service->msg_remove ==
902 user_service->msg_insert);
903
> 904 if (ret)
905 goto out;
906 }
907
908 BUG_ON((int)(user_service->msg_insert -
909 user_service->msg_remove) < 0);
910
911 header = user_service->msg_queue[user_service->msg_remove &
912 (MSG_QUEUE_SIZE - 1)];
913 user_service->msg_remove++;
914 spin_unlock(&msg_queue_spinlock);
915
916 complete(&user_service->remove_event);
917 if (!header) {
918 ret = -ENOTCONN;
919 } else if (header->size <= args->bufsize) {
920 /* Copy to user space if msgbuf is not NULL */
921 if (!args->buf || (copy_to_user((void __user *)args->buf,
922 header->data, header->size) == 0)) {
923 ret = header->size;
924 vchiq_release_message(service->handle, header);
925 } else
926 ret = -EFAULT;
927 } else {
928 vchiq_log_error(vchiq_arm_log_level,
929 "header %pK: bufsize %x < size %x",
930 header, args->bufsize, header->size);
931 WARN(1, "invalid size\n");
932 ret = -EMSGSIZE;
933 }
934 DEBUG_TRACE(DEQUEUE_MESSAGE_LINE);
935 out:
936 unlock_service(service);
937 return ret;
938 }
939
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH 2/3] powerpc/mce: Add debugfs interface to inject MCE
by kernel test robot
Hi Ganesh,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.9-rc5 next-20200916]
[cannot apply to scottwood/next mpe/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Ganesh-Goudar/powerpc-mce-Fix-mc...
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-randconfig-r021-20200917 (attached as .config)
compiler: powerpc-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
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 >>):
arch/powerpc/sysdev/mce_error_inject.c: In function 'get_slb_index':
>> arch/powerpc/sysdev/mce_error_inject.c:17:10: error: implicit declaration of function 'get_paca' [-Werror=implicit-function-declaration]
17 | index = get_paca()->stab_rr;
| ^~~~~~~~
>> arch/powerpc/sysdev/mce_error_inject.c:17:20: error: invalid type argument of '->' (have 'int')
17 | index = get_paca()->stab_rr;
| ^~
>> arch/powerpc/sysdev/mce_error_inject.c:22:15: error: 'mmu_slb_size' undeclared (first use in this function)
22 | if (index < (mmu_slb_size - 1))
| ^~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c:22:15: note: each undeclared identifier is reported only once for each function it appears in
>> arch/powerpc/sysdev/mce_error_inject.c:25:11: error: 'SLB_NUM_BOLTED' undeclared (first use in this function)
25 | index = SLB_NUM_BOLTED;
| ^~~~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c:26:12: error: invalid type argument of '->' (have 'int')
26 | get_paca()->stab_rr = index;
| ^~
arch/powerpc/sysdev/mce_error_inject.c: In function 'mk_esid_data':
>> arch/powerpc/sysdev/mce_error_inject.c:31:15: error: 'MMU_SEGSIZE_256M' undeclared (first use in this function); did you mean 'MMU_PAGE_256M'?
31 | (((ssize) == MMU_SEGSIZE_256M) ? ESID_MASK : ESID_MASK_1T)
| ^~~~~~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c:36:15: note: in expansion of macro 'slb_esid_mask'
36 | return (ea & slb_esid_mask(ssize)) | SLB_ESID_V | slot;
| ^~~~~~~~~~~~~
>> arch/powerpc/sysdev/mce_error_inject.c:31:35: error: 'ESID_MASK' undeclared (first use in this function); did you mean 'NMI_MASK'?
31 | (((ssize) == MMU_SEGSIZE_256M) ? ESID_MASK : ESID_MASK_1T)
| ^~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c:36:15: note: in expansion of macro 'slb_esid_mask'
36 | return (ea & slb_esid_mask(ssize)) | SLB_ESID_V | slot;
| ^~~~~~~~~~~~~
>> arch/powerpc/sysdev/mce_error_inject.c:31:47: error: 'ESID_MASK_1T' undeclared (first use in this function)
31 | (((ssize) == MMU_SEGSIZE_256M) ? ESID_MASK : ESID_MASK_1T)
| ^~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c:36:15: note: in expansion of macro 'slb_esid_mask'
36 | return (ea & slb_esid_mask(ssize)) | SLB_ESID_V | slot;
| ^~~~~~~~~~~~~
>> arch/powerpc/sysdev/mce_error_inject.c:36:39: error: 'SLB_ESID_V' undeclared (first use in this function)
36 | return (ea & slb_esid_mask(ssize)) | SLB_ESID_V | slot;
| ^~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c: In function 'mk_vsid_data':
>> arch/powerpc/sysdev/mce_error_inject.c:45:10: error: implicit declaration of function 'get_kernel_vsid' [-Werror=implicit-function-declaration]
45 | return (get_kernel_vsid(ea, ssize) << slb_vsid_shift(ssize)) | flags |
| ^~~~~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c:40:14: error: 'MMU_SEGSIZE_256M' undeclared (first use in this function); did you mean 'MMU_PAGE_256M'?
40 | ((ssize) == MMU_SEGSIZE_256M ? SLB_VSID_SHIFT : SLB_VSID_SHIFT_1T)
| ^~~~~~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c:45:40: note: in expansion of macro 'slb_vsid_shift'
45 | return (get_kernel_vsid(ea, ssize) << slb_vsid_shift(ssize)) | flags |
| ^~~~~~~~~~~~~~
>> arch/powerpc/sysdev/mce_error_inject.c:40:33: error: 'SLB_VSID_SHIFT' undeclared (first use in this function)
40 | ((ssize) == MMU_SEGSIZE_256M ? SLB_VSID_SHIFT : SLB_VSID_SHIFT_1T)
| ^~~~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c:45:40: note: in expansion of macro 'slb_vsid_shift'
45 | return (get_kernel_vsid(ea, ssize) << slb_vsid_shift(ssize)) | flags |
| ^~~~~~~~~~~~~~
>> arch/powerpc/sysdev/mce_error_inject.c:40:50: error: 'SLB_VSID_SHIFT_1T' undeclared (first use in this function)
40 | ((ssize) == MMU_SEGSIZE_256M ? SLB_VSID_SHIFT : SLB_VSID_SHIFT_1T)
| ^~~~~~~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c:45:40: note: in expansion of macro 'slb_vsid_shift'
45 | return (get_kernel_vsid(ea, ssize) << slb_vsid_shift(ssize)) | flags |
| ^~~~~~~~~~~~~~
>> arch/powerpc/sysdev/mce_error_inject.c:46:28: error: 'SLB_VSID_SSIZE_SHIFT' undeclared (first use in this function)
46 | ((unsigned long)ssize << SLB_VSID_SSIZE_SHIFT);
| ^~~~~~~~~~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c: In function 'insert_slb_entry':
>> arch/powerpc/sysdev/mce_error_inject.c:54:10: error: 'SLB_VSID_KERNEL' undeclared (first use in this function)
54 | flags = SLB_VSID_KERNEL | mmu_psize_defs[MMU_PAGE_64K].sllp;
| ^~~~~~~~~~~~~~~
>> arch/powerpc/sysdev/mce_error_inject.c:54:28: error: 'mmu_psize_defs' undeclared (first use in this function)
54 | flags = SLB_VSID_KERNEL | mmu_psize_defs[MMU_PAGE_64K].sllp;
| ^~~~~~~~~~~~~~
>> arch/powerpc/sysdev/mce_error_inject.c:58:7: error: assignment to 'struct paca_struct *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
58 | paca = get_paca();
| ^
>> arch/powerpc/sysdev/mce_error_inject.c:52:22: error: variable 'paca' set but not used [-Werror=unused-but-set-variable]
52 | struct paca_struct *paca;
| ^~~~
arch/powerpc/sysdev/mce_error_inject.c: In function 'inject_vmalloc_slb_multihit':
>> arch/powerpc/sysdev/mce_error_inject.c:83:22: error: 'MMU_SEGSIZE_1T' undeclared (first use in this function)
83 | insert_slb_entry(p, MMU_SEGSIZE_1T);
| ^~~~~~~~~~~~~~
arch/powerpc/sysdev/mce_error_inject.c: In function 'inject_kmalloc_slb_multihit':
arch/powerpc/sysdev/mce_error_inject.c:95:22: error: 'MMU_SEGSIZE_1T' undeclared (first use in this function)
95 | insert_slb_entry(p, MMU_SEGSIZE_1T);
| ^~~~~~~~~~~~~~
cc1: all warnings being treated as errors
# https://github.com/0day-ci/linux/commit/4ab1196e8e542fdf0e7cda8638dfb0e57...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ganesh-Goudar/powerpc-mce-Fix-mce-handler-and-add-selftest/20200917-092355
git checkout 4ab1196e8e542fdf0e7cda8638dfb0e5771fd98e
vim +/get_paca +17 arch/powerpc/sysdev/mce_error_inject.c
12
13 static inline unsigned long get_slb_index(void)
14 {
15 unsigned long index;
16
> 17 index = get_paca()->stab_rr;
18
19 /*
20 * simple round-robin replacement of slb starting at SLB_NUM_BOLTED.
21 */
> 22 if (index < (mmu_slb_size - 1))
23 index++;
24 else
> 25 index = SLB_NUM_BOLTED;
26 get_paca()->stab_rr = index;
27 return index;
28 }
29
30 #define slb_esid_mask(ssize) \
> 31 (((ssize) == MMU_SEGSIZE_256M) ? ESID_MASK : ESID_MASK_1T)
32
33 static inline unsigned long mk_esid_data(unsigned long ea, int ssize,
34 unsigned long slot)
35 {
> 36 return (ea & slb_esid_mask(ssize)) | SLB_ESID_V | slot;
37 }
38
39 #define slb_vsid_shift(ssize) \
> 40 ((ssize) == MMU_SEGSIZE_256M ? SLB_VSID_SHIFT : SLB_VSID_SHIFT_1T)
41
42 static inline unsigned long mk_vsid_data(unsigned long ea, int ssize,
43 unsigned long flags)
44 {
> 45 return (get_kernel_vsid(ea, ssize) << slb_vsid_shift(ssize)) | flags |
> 46 ((unsigned long)ssize << SLB_VSID_SSIZE_SHIFT);
47 }
48
49 static void insert_slb_entry(char *p, int ssize)
50 {
51 unsigned long flags, entry;
> 52 struct paca_struct *paca;
53
> 54 flags = SLB_VSID_KERNEL | mmu_psize_defs[MMU_PAGE_64K].sllp;
55
56 preempt_disable();
57
> 58 paca = get_paca();
59
60 entry = get_slb_index();
61 asm volatile("slbmte %0,%1" :
62 : "r" (mk_vsid_data((unsigned long)p, ssize, flags)),
63 "r" (mk_esid_data((unsigned long)p, ssize, entry))
64 : "memory");
65
66 entry = get_slb_index();
67 asm volatile("slbmte %0,%1" :
68 : "r" (mk_vsid_data((unsigned long)p, ssize, flags)),
69 "r" (mk_esid_data((unsigned long)p, ssize, entry))
70 : "memory");
71 preempt_enable();
72 p[0] = '!';
73 }
74
75 static void inject_vmalloc_slb_multihit(void)
76 {
77 char *p;
78
79 p = vmalloc(2048);
80 if (!p)
81 return;
82
> 83 insert_slb_entry(p, MMU_SEGSIZE_1T);
84 vfree(p);
85 }
86
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH RFC 8/8] soc:qcom:qcom_aoss: Change cooling_device_register to warming_device_register
by kernel test robot
Hi Thara,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v5.9-rc5 next-20200916]
[cannot apply to thermal/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Thara-Gopinath/Introduce-warming...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm64-randconfig-r003-20200917 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1321160a26e7e489baf9b10d6de90a342f898960)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang 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 >>):
>> drivers/soc/qcom/qcom_aoss.c:464:19: error: implicit declaration of function 'devm_thermal_of_warming_device_register' [-Werror,-Wimplicit-function-declaration]
qmp_cdev->cdev = devm_thermal_of_warming_device_register
^
drivers/soc/qcom/qcom_aoss.c:464:19: note: did you mean 'devm_thermal_of_cooling_device_register'?
include/linux/thermal.h:432:1: note: 'devm_thermal_of_cooling_device_register' declared here
devm_thermal_of_cooling_device_register(struct device *dev,
^
>> drivers/soc/qcom/qcom_aoss.c:464:17: warning: incompatible integer to pointer conversion assigning to 'struct thermal_cooling_device *' from 'int' [-Wint-conversion]
qmp_cdev->cdev = devm_thermal_of_warming_device_register
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/soc/qcom/qcom_aoss.c:504:3: error: implicit declaration of function 'thermal_warming_device_unregister' [-Werror,-Wimplicit-function-declaration]
thermal_warming_device_unregister
^
drivers/soc/qcom/qcom_aoss.c:504:3: note: did you mean 'thermal_cooling_device_unregister'?
include/linux/thermal.h:439:20: note: 'thermal_cooling_device_unregister' declared here
static inline void thermal_cooling_device_unregister(
^
drivers/soc/qcom/qcom_aoss.c:515:3: error: implicit declaration of function 'thermal_warming_device_unregister' [-Werror,-Wimplicit-function-declaration]
thermal_warming_device_unregister(qmp->cooling_devs[i].cdev);
^
1 warning and 3 errors generated.
# https://github.com/0day-ci/linux/commit/7c75758cd4b524506f725cb5c62ae90c2...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thara-Gopinath/Introduce-warming-in-thermal-framework/20200917-113050
git checkout 7c75758cd4b524506f725cb5c62ae90c260f34da
vim +/devm_thermal_of_warming_device_register +464 drivers/soc/qcom/qcom_aoss.c
454
455 static int qmp_cooling_device_add(struct qmp *qmp,
456 struct qmp_cooling_device *qmp_cdev,
457 struct device_node *node)
458 {
459 char *cdev_name = (char *)node->name;
460
461 qmp_cdev->qmp = qmp;
462 qmp_cdev->state = !qmp_cdev_max_state;
463 qmp_cdev->name = cdev_name;
> 464 qmp_cdev->cdev = devm_thermal_of_warming_device_register
465 (qmp->dev, node,
466 cdev_name,
467 qmp_cdev, &qmp_cooling_device_ops);
468
469 if (IS_ERR(qmp_cdev->cdev))
470 dev_err(qmp->dev, "unable to register %s cooling device\n",
471 cdev_name);
472
473 return PTR_ERR_OR_ZERO(qmp_cdev->cdev);
474 }
475
476 static int qmp_cooling_devices_register(struct qmp *qmp)
477 {
478 struct device_node *np, *child;
479 int count = QMP_NUM_COOLING_RESOURCES;
480 int ret;
481
482 np = qmp->dev->of_node;
483
484 qmp->cooling_devs = devm_kcalloc(qmp->dev, count,
485 sizeof(*qmp->cooling_devs),
486 GFP_KERNEL);
487
488 if (!qmp->cooling_devs)
489 return -ENOMEM;
490
491 for_each_available_child_of_node(np, child) {
492 if (!of_find_property(child, "#cooling-cells", NULL))
493 continue;
494 ret = qmp_cooling_device_add(qmp, &qmp->cooling_devs[count++],
495 child);
496 if (ret)
497 goto unroll;
498 }
499
500 return 0;
501
502 unroll:
503 while (--count >= 0)
> 504 thermal_warming_device_unregister
505 (qmp->cooling_devs[count].cdev);
506
507 return ret;
508 }
509
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[intel-linux-intel-lts:5.4/yocto 39/1142] drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:913:22: sparse: sparse: context imbalance in 'axi_chan_handle_err' - different lock contexts for basic block
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: eeb611e5394c56d45c5cc8f7dc484c9f19e93143
commit: 2baf6e1cd6f179dd497cfc10294920e99bc3a66e [39/1142] dmaengine: dw-axi-dma: support slave dma mode
:::::: branch date: 4 weeks ago
:::::: commit date: 4 weeks ago
config: i386-randconfig-s001-20200916 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-201-g24bdaac6-dirty
git checkout 2baf6e1cd6f179dd497cfc10294920e99bc3a66e
# 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/dma/dw-axi-dmac/dw-axi-dmac-platform.c:913:22: sparse: sparse: context imbalance in 'axi_chan_handle_err' - different lock contexts for basic block
# https://github.com/intel/linux-intel-lts/commit/2baf6e1cd6f179dd497cfc102...
git remote add intel-linux-intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-linux-intel-lts 5.4/yocto
git checkout 2baf6e1cd6f179dd497cfc10294920e99bc3a66e
vim +/axi_chan_handle_err +913 drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 912
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 @913 static noinline void axi_chan_handle_err(struct axi_dma_chan *chan, u32 status)
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 914 {
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 915 struct virt_dma_desc *vd;
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 916 unsigned long flags;
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 917
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 918 spin_lock_irqsave(&chan->vc.lock, flags);
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 919
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 920 axi_chan_disable(chan);
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 921
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 922 /* The bad descriptor currently is in the head of vc list */
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 923 vd = vchan_next_desc(&chan->vc);
2baf6e1cd6f179d Sia Jee Heng 2020-06-26 924 if (!vd)
2baf6e1cd6f179d Sia Jee Heng 2020-06-26 925 return;
2baf6e1cd6f179d Sia Jee Heng 2020-06-26 926
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 927 /* Remove the completed descriptor from issued list */
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 928 list_del(&vd->node);
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 929
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 930 /* WARN about bad descriptor */
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 931 dev_err(chan2dev(chan),
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 932 "Bad descriptor submitted for %s, cookie: %d, irq: 0x%08x\n",
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 933 axi_chan_name(chan), vd->tx.cookie, status);
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 934 axi_chan_list_dump_lli(chan, vd_to_axi_desc(vd));
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 935
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 936 vchan_cookie_complete(vd);
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 937
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 938 /* Try to restart the controller */
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 939 axi_chan_start_first_queued(chan);
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 940
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 941 spin_unlock_irqrestore(&chan->vc.lock, flags);
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 942 }
1fe20f1b84548bb Eugeniy Paltsev 2018-03-06 943
:::::: The code at line 913 was first introduced by commit
:::::: 1fe20f1b84548bbcf48b6659ea171cd46618ea3a dmaengine: Introduce DW AXI DMAC driver
:::::: TO: Eugeniy Paltsev <Eugeniy.Paltsev(a)synopsys.com>
:::::: CC: Vinod Koul <vinod.koul(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:415:35: sparse: got void
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc4f28bb3daf3265d6bc5f73b497306985bb23ab
commit: d424b6c024157fe04e6530757b8b4a0e48bbe389 octeontx2-pf: Enable SRIOV and added VF mbox handling
date: 6 months ago
:::::: branch date: 15 hours ago
:::::: commit date: 6 months ago
config: parisc-randconfig-s032-20200914 (attached as .config)
compiler: hppa64-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-191-g10164920-dirty
git checkout d424b6c024157fe04e6530757b8b4a0e48bbe389
# 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=parisc
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/ethernet/marvell/octeontx2/nic/otx2_pf.c: note: in included file (through arch/parisc/include/uapi/asm/unistd.h, arch/parisc/include/asm/unistd.h, include/uapi/linux/unistd.h, ...):
./arch/parisc/include/generated/uapi/asm/unistd_64.h:362:41: sparse: sparse: no newline at end of file
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:365:40: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:415:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got void *hwbase @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:415:35: sparse: expected void const volatile [noderef] <asn:2> *addr
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:415:35: sparse: got void *hwbase
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:882:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned long long [usertype] *ptr @@ got void [noderef] <asn:2> * @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:882:21: sparse: expected unsigned long long [usertype] *ptr
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:882:21: sparse: got void [noderef] <asn:2> *
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:907:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned long long [usertype] *ptr @@ got void [noderef] <asn:2> * @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:907:21: sparse: expected unsigned long long [usertype] *ptr
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:907:21: sparse: got void [noderef] <asn:2> *
# 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 fetch --no-tags linus master
git checkout d424b6c024157fe04e6530757b8b4a0e48bbe389
vim +415 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
d424b6c024157fe Sunil Goutham 2020-03-21 400
d424b6c024157fe Sunil Goutham 2020-03-21 401 static void otx2_pfvf_mbox_destroy(struct otx2_nic *pf)
d424b6c024157fe Sunil Goutham 2020-03-21 402 {
d424b6c024157fe Sunil Goutham 2020-03-21 403 struct mbox *mbox = &pf->mbox_pfvf[0];
d424b6c024157fe Sunil Goutham 2020-03-21 404
d424b6c024157fe Sunil Goutham 2020-03-21 405 if (!mbox)
d424b6c024157fe Sunil Goutham 2020-03-21 406 return;
d424b6c024157fe Sunil Goutham 2020-03-21 407
d424b6c024157fe Sunil Goutham 2020-03-21 408 if (pf->mbox_pfvf_wq) {
d424b6c024157fe Sunil Goutham 2020-03-21 409 flush_workqueue(pf->mbox_pfvf_wq);
d424b6c024157fe Sunil Goutham 2020-03-21 410 destroy_workqueue(pf->mbox_pfvf_wq);
d424b6c024157fe Sunil Goutham 2020-03-21 411 pf->mbox_pfvf_wq = NULL;
d424b6c024157fe Sunil Goutham 2020-03-21 412 }
d424b6c024157fe Sunil Goutham 2020-03-21 413
d424b6c024157fe Sunil Goutham 2020-03-21 414 if (mbox->mbox.hwbase)
d424b6c024157fe Sunil Goutham 2020-03-21 @415 iounmap(mbox->mbox.hwbase);
d424b6c024157fe Sunil Goutham 2020-03-21 416
d424b6c024157fe Sunil Goutham 2020-03-21 417 otx2_mbox_destroy(&mbox->mbox);
d424b6c024157fe Sunil Goutham 2020-03-21 418 }
d424b6c024157fe Sunil Goutham 2020-03-21 419
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[jirislaby:devel 21/45] drivers/mtd/nand/raw/nand_base.c:3103:9: sparse: sparse: too long token expansion
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git devel
head: 64c52a71e74ef6724aa77c6e20cd93d124b76409
commit: 2395fbe89c7ce06392d59a4560cd7fe0c5a77de7 [21/45] include condition in the BUG_ON/WARN_ON output
:::::: branch date: 6 hours ago
:::::: commit date: 6 hours ago
config: microblaze-randconfig-s031-20200913 (attached as .config)
compiler: microblaze-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-191-g10164920-dirty
git checkout 2395fbe89c7ce06392d59a4560cd7fe0c5a77de7
# 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=microblaze
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/mtd/nand/raw/nand_base.c:3103:9: sparse: sparse: too long token expansion
# https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commi...
git remote add jirislaby https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git
git fetch --no-tags jirislaby devel
git checkout 2395fbe89c7ce06392d59a4560cd7fe0c5a77de7
vim +3103 drivers/mtd/nand/raw/nand_base.c
ba84fb5952af11 drivers/mtd/nand/nand_base.c Brian Norris 2014-01-03 3094
85e08e5864458b drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 3095 static void nand_wait_readrdy(struct nand_chip *chip)
85e08e5864458b drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 3096 {
52f05b6b87decf drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 3097 const struct nand_sdr_timings *sdr;
52f05b6b87decf drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 3098
85e08e5864458b drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 3099 if (!(chip->options & NAND_NEED_READRDY))
85e08e5864458b drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 3100 return;
85e08e5864458b drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 3101
e0160cd41fb81f drivers/mtd/nand/raw/nand_base.c Miquel Raynal 2020-05-29 3102 sdr = nand_get_sdr_timings(nand_get_interface_config(chip));
52f05b6b87decf drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 @3103 WARN_ON(nand_wait_rdy_op(chip, PSEC_TO_MSEC(sdr->tR_max), 0));
85e08e5864458b drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 3104 }
85e08e5864458b drivers/mtd/nand/raw/nand_base.c Boris Brezillon 2018-07-27 3105
:::::: The code at line 3103 was first introduced by commit
:::::: 52f05b6b87decfc74245ac16b4ae18e321b5ae98 mtd: rawnand: Add the nand_wait_rdy_op() helper and use it
:::::: TO: Boris Brezillon <boris.brezillon(a)bootlin.com>
:::::: CC: Miquel Raynal <miquel.raynal(a)bootlin.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
drivers/infiniband/hw/qedr/verbs.c:3760:59: sparse: sparse: incorrect type in assignment (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5925fa68fe8244651b3f78a88c4af99190a88f0d
commit: acca72e2b031b9fbb4184511072bd246a0abcebc RDMA/qedr: SRQ's bug fixes
date: 9 weeks ago
config: sparc64-randconfig-s032-20200917 (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-201-g24bdaac6-dirty
git checkout acca72e2b031b9fbb4184511072bd246a0abcebc
# 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 >>)
drivers/infiniband/hw/qedr/verbs.c:127:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be64 [usertype] sys_image_guid @@ got unsigned long long [usertype] sys_image_guid @@
drivers/infiniband/hw/qedr/verbs.c:127:30: sparse: expected restricted __be64 [usertype] sys_image_guid
drivers/infiniband/hw/qedr/verbs.c:127:30: sparse: got unsigned long long [usertype] sys_image_guid
drivers/infiniband/hw/qedr/verbs.c:994:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] icid @@ got unsigned short [usertype] icid @@
drivers/infiniband/hw/qedr/verbs.c:994:34: sparse: expected restricted __le16 [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:994:34: sparse: got unsigned short [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1347:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] icid @@ got int @@
drivers/infiniband/hw/qedr/verbs.c:1347:34: sparse: expected restricted __le16 [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1347:34: sparse: got int
drivers/infiniband/hw/qedr/verbs.c:1358:42: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] icid @@ got unsigned short [usertype] icid @@
drivers/infiniband/hw/qedr/verbs.c:1358:42: sparse: expected restricted __le16 [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1358:42: sparse: got unsigned short [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1866:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] icid @@ got unsigned short [usertype] icid @@
drivers/infiniband/hw/qedr/verbs.c:1866:34: sparse: expected restricted __le16 [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1866:34: sparse: got unsigned short [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1877:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] icid @@ got unsigned short [usertype] icid @@
drivers/infiniband/hw/qedr/verbs.c:1877:34: sparse: expected restricted __le16 [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1877:34: sparse: got unsigned short [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1880:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] icid @@ got unsigned short [usertype] icid @@
drivers/infiniband/hw/qedr/verbs.c:1880:41: sparse: expected restricted __le16 [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1880:41: sparse: got unsigned short [usertype] icid
drivers/infiniband/hw/qedr/verbs.c:1881:42: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] value @@ got unsigned long @@
drivers/infiniband/hw/qedr/verbs.c:1881:42: sparse: expected restricted __le16 [usertype] value
drivers/infiniband/hw/qedr/verbs.c:1881:42: sparse: got unsigned long
drivers/infiniband/hw/qedr/verbs.c:3149:22: sparse: sparse: cast from restricted __le64
drivers/infiniband/hw/qedr/verbs.c:3149:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] @@ got restricted __be64 [usertype] @@
drivers/infiniband/hw/qedr/verbs.c:3149:20: sparse: expected unsigned long long [usertype]
drivers/infiniband/hw/qedr/verbs.c:3149:20: sparse: got restricted __be64 [usertype]
drivers/infiniband/hw/qedr/verbs.c:3309:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned int [usertype] @@
drivers/infiniband/hw/qedr/verbs.c:3309:24: sparse: expected restricted __le32 [usertype] hi
drivers/infiniband/hw/qedr/verbs.c:3309:24: sparse: got unsigned int [usertype]
drivers/infiniband/hw/qedr/verbs.c:3310:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] lo @@ got unsigned int [usertype] @@
drivers/infiniband/hw/qedr/verbs.c:3310:24: sparse: expected restricted __le32 [usertype] lo
drivers/infiniband/hw/qedr/verbs.c:3310:24: sparse: got unsigned int [usertype]
drivers/infiniband/hw/qedr/verbs.c:3311:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] l_key @@ got unsigned int const [usertype] key @@
drivers/infiniband/hw/qedr/verbs.c:3311:22: sparse: expected restricted __le32 [usertype] l_key
drivers/infiniband/hw/qedr/verbs.c:3311:22: sparse: got unsigned int const [usertype] key
drivers/infiniband/hw/qedr/verbs.c:3330:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] length_lo @@ got unsigned long long [usertype] length @@
drivers/infiniband/hw/qedr/verbs.c:3330:26: sparse: expected restricted __le32 [usertype] length_lo
drivers/infiniband/hw/qedr/verbs.c:3330:26: sparse: got unsigned long long [usertype] length
drivers/infiniband/hw/qedr/verbs.c:3331:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned int [usertype] @@
drivers/infiniband/hw/qedr/verbs.c:3331:28: sparse: expected restricted __le32 [usertype] hi
drivers/infiniband/hw/qedr/verbs.c:3331:28: sparse: got unsigned int [usertype]
drivers/infiniband/hw/qedr/verbs.c:3332:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] lo @@ got unsigned int [usertype] @@
drivers/infiniband/hw/qedr/verbs.c:3332:28: sparse: expected restricted __le32 [usertype] lo
drivers/infiniband/hw/qedr/verbs.c:3332:28: sparse: got unsigned int [usertype]
drivers/infiniband/hw/qedr/verbs.c:3460:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bytes_len @@ got restricted __le32 [usertype] length @@
drivers/infiniband/hw/qedr/verbs.c:3460:54: sparse: expected unsigned int [usertype] bytes_len
drivers/infiniband/hw/qedr/verbs.c:3460:54: sparse: got restricted __le32 [usertype] length
drivers/infiniband/hw/qedr/verbs.c:3473:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bytes_len @@ got restricted __le32 [usertype] length @@
drivers/infiniband/hw/qedr/verbs.c:3473:54: sparse: expected unsigned int [usertype] bytes_len
drivers/infiniband/hw/qedr/verbs.c:3473:54: sparse: got restricted __le32 [usertype] length
drivers/infiniband/hw/qedr/verbs.c:3486:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bytes_len @@ got restricted __le32 [usertype] length @@
drivers/infiniband/hw/qedr/verbs.c:3486:54: sparse: expected unsigned int [usertype] bytes_len
drivers/infiniband/hw/qedr/verbs.c:3486:54: sparse: got restricted __le32 [usertype] length
drivers/infiniband/hw/qedr/verbs.c:3499:34: sparse: sparse: cast from restricted __be32
drivers/infiniband/hw/qedr/verbs.c:3499:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __be32 const [usertype] imm_data @@
drivers/infiniband/hw/qedr/verbs.c:3499:34: sparse: expected unsigned int [usertype] val
drivers/infiniband/hw/qedr/verbs.c:3499:34: sparse: got restricted __be32 const [usertype] imm_data
drivers/infiniband/hw/qedr/verbs.c:3499:34: sparse: sparse: cast from restricted __be32
drivers/infiniband/hw/qedr/verbs.c:3499:34: sparse: sparse: cast from restricted __be32
drivers/infiniband/hw/qedr/verbs.c:3499:34: sparse: sparse: cast from restricted __be32
drivers/infiniband/hw/qedr/verbs.c:3499:34: sparse: sparse: cast from restricted __be32
drivers/infiniband/hw/qedr/verbs.c:3499:34: sparse: sparse: cast from restricted __le32
drivers/infiniband/hw/qedr/verbs.c:3499:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] imm_data @@ got restricted __be32 [usertype] @@
drivers/infiniband/hw/qedr/verbs.c:3499:32: sparse: expected restricted __le32 [usertype] imm_data
drivers/infiniband/hw/qedr/verbs.c:3499:32: sparse: got restricted __be32 [usertype]
drivers/infiniband/hw/qedr/verbs.c:3506:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bytes_len @@ got restricted __le32 [usertype] length @@
drivers/infiniband/hw/qedr/verbs.c:3506:54: sparse: expected unsigned int [usertype] bytes_len
drivers/infiniband/hw/qedr/verbs.c:3506:54: sparse: got restricted __le32 [usertype] length
drivers/infiniband/hw/qedr/verbs.c:3519:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bytes_len @@ got restricted __le32 [usertype] length @@
drivers/infiniband/hw/qedr/verbs.c:3519:54: sparse: expected unsigned int [usertype] bytes_len
drivers/infiniband/hw/qedr/verbs.c:3519:54: sparse: got restricted __le32 [usertype] length
drivers/infiniband/hw/qedr/verbs.c:3536:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bytes_len @@ got restricted __le32 [usertype] length @@
drivers/infiniband/hw/qedr/verbs.c:3536:54: sparse: expected unsigned int [usertype] bytes_len
drivers/infiniband/hw/qedr/verbs.c:3536:54: sparse: got restricted __le32 [usertype] length
drivers/infiniband/hw/qedr/verbs.c:3573:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] inv_l_key @@ got unsigned int const [usertype] invalidate_rkey @@
drivers/infiniband/hw/qedr/verbs.c:3573:33: sparse: expected restricted __le32 [usertype] inv_l_key
drivers/infiniband/hw/qedr/verbs.c:3573:33: sparse: got unsigned int const [usertype] invalidate_rkey
drivers/infiniband/hw/qedr/verbs.c:3655:42: sparse: sparse: restricted __le16 degrades to integer
>> drivers/infiniband/hw/qedr/verbs.c:3760:59: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] sge_prod @@ got unsigned int [usertype] sge_prod @@
>> drivers/infiniband/hw/qedr/verbs.c:3760:59: sparse: expected restricted __le32 [usertype] sge_prod
>> drivers/infiniband/hw/qedr/verbs.c:3760:59: sparse: got unsigned int [usertype] sge_prod
>> drivers/infiniband/hw/qedr/verbs.c:3763:59: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] wqe_prod @@ got unsigned int [usertype] wqe_prod @@
>> drivers/infiniband/hw/qedr/verbs.c:3763:59: sparse: expected restricted __le32 [usertype] wqe_prod
>> drivers/infiniband/hw/qedr/verbs.c:3763:59: sparse: got unsigned int [usertype] wqe_prod
drivers/infiniband/hw/qedr/verbs.c:3860:42: sparse: sparse: restricted __le16 degrades to integer
drivers/infiniband/hw/qedr/verbs.c:3889:43: sparse: sparse: cast from restricted __le32
drivers/infiniband/hw/qedr/verbs.c:3889:43: sparse: sparse: restricted __le32 degrades to integer
drivers/infiniband/hw/qedr/verbs.c:3985:68: sparse: sparse: incorrect type in argument 6 (different base types) @@ expected unsigned short [usertype] hw_cons @@ got restricted __le16 [usertype] sq_cons @@
drivers/infiniband/hw/qedr/verbs.c:3985:68: sparse: expected unsigned short [usertype] hw_cons
drivers/infiniband/hw/qedr/verbs.c:3985:68: sparse: got restricted __le16 [usertype] sq_cons
drivers/infiniband/hw/qedr/verbs.c:3993:68: sparse: sparse: incorrect type in argument 6 (different base types) @@ expected unsigned short [usertype] hw_cons @@ got restricted __le16 [usertype] sq_cons @@
drivers/infiniband/hw/qedr/verbs.c:3993:68: sparse: expected unsigned short [usertype] hw_cons
drivers/infiniband/hw/qedr/verbs.c:3993:68: sparse: got restricted __le16 [usertype] sq_cons
drivers/infiniband/hw/qedr/verbs.c:4000:38: sparse: sparse: restricted __le16 degrades to integer
drivers/infiniband/hw/qedr/verbs.c:4073:67: sparse: sparse: incorrect type in argument 6 (different base types) @@ expected unsigned short [usertype] hw_cons @@ got restricted __le16 [usertype] sq_cons @@
drivers/infiniband/hw/qedr/verbs.c:4073:67: sparse: expected unsigned short [usertype] hw_cons
drivers/infiniband/hw/qedr/verbs.c:4073:67: sparse: got restricted __le16 [usertype] sq_cons
drivers/infiniband/hw/qedr/verbs.c:4258:46: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected unsigned short [usertype] hw_cons @@ got restricted __le16 [usertype] rq_cons_or_srq_id @@
drivers/infiniband/hw/qedr/verbs.c:4258:46: sparse: expected unsigned short [usertype] hw_cons
drivers/infiniband/hw/qedr/verbs.c:4258:46: sparse: got restricted __le16 [usertype] rq_cons_or_srq_id
drivers/infiniband/hw/qedr/verbs.c:1166:45: sparse: sparse: cast to restricted __be32
drivers/infiniband/hw/qedr/verbs.c:1167:45: sparse: sparse: cast to restricted __be32
drivers/infiniband/hw/qedr/verbs.c:4120:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] imm_data @@ got unsigned int @@
drivers/infiniband/hw/qedr/verbs.c:4120:33: sparse: expected restricted __be32 [usertype] imm_data
drivers/infiniband/hw/qedr/verbs.c:4120:33: sparse: got unsigned int
# 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 fetch --no-tags linus master
git checkout acca72e2b031b9fbb4184511072bd246a0abcebc
vim +3760 drivers/infiniband/hw/qedr/verbs.c
3693
3694 int qedr_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
3695 const struct ib_recv_wr **bad_wr)
3696 {
3697 struct qedr_srq *srq = get_qedr_srq(ibsrq);
3698 struct qedr_srq_hwq_info *hw_srq;
3699 struct qedr_dev *dev = srq->dev;
3700 struct qed_chain *pbl;
3701 unsigned long flags;
3702 int status = 0;
3703 u32 num_sge;
3704
3705 spin_lock_irqsave(&srq->lock, flags);
3706
3707 hw_srq = &srq->hw_srq;
3708 pbl = &srq->hw_srq.pbl;
3709 while (wr) {
3710 struct rdma_srq_wqe_header *hdr;
3711 int i;
3712
3713 if (!qedr_srq_elem_left(hw_srq) ||
3714 wr->num_sge > srq->hw_srq.max_sges) {
3715 DP_ERR(dev, "Can't post WR (%d,%d) || (%d > %d)\n",
3716 hw_srq->wr_prod_cnt,
3717 atomic_read(&hw_srq->wr_cons_cnt),
3718 wr->num_sge, srq->hw_srq.max_sges);
3719 status = -ENOMEM;
3720 *bad_wr = wr;
3721 break;
3722 }
3723
3724 hdr = qed_chain_produce(pbl);
3725 num_sge = wr->num_sge;
3726 /* Set number of sge and work request id in header */
3727 SRQ_HDR_SET(hdr, wr->wr_id, num_sge);
3728
3729 srq->hw_srq.wr_prod_cnt++;
3730 hw_srq->wqe_prod++;
3731 hw_srq->sge_prod++;
3732
3733 DP_DEBUG(dev, QEDR_MSG_SRQ,
3734 "SRQ WR: SGEs: %d with wr_id[%d] = %llx\n",
3735 wr->num_sge, hw_srq->wqe_prod, wr->wr_id);
3736
3737 for (i = 0; i < wr->num_sge; i++) {
3738 struct rdma_srq_sge *srq_sge = qed_chain_produce(pbl);
3739
3740 /* Set SGE length, lkey and address */
3741 SRQ_SGE_SET(srq_sge, wr->sg_list[i].addr,
3742 wr->sg_list[i].length, wr->sg_list[i].lkey);
3743
3744 DP_DEBUG(dev, QEDR_MSG_SRQ,
3745 "[%d]: len %d key %x addr %x:%x\n",
3746 i, srq_sge->length, srq_sge->l_key,
3747 srq_sge->addr.hi, srq_sge->addr.lo);
3748 hw_srq->sge_prod++;
3749 }
3750
3751 /* Update WQE and SGE information before
3752 * updating producer.
3753 */
3754 dma_wmb();
3755
3756 /* SRQ producer is 8 bytes. Need to update SGE producer index
3757 * in first 4 bytes and need to update WQE producer in
3758 * next 4 bytes.
3759 */
> 3760 srq->hw_srq.virt_prod_pair_addr->sge_prod = hw_srq->sge_prod;
3761 /* Make sure sge producer is updated first */
3762 dma_wmb();
> 3763 srq->hw_srq.virt_prod_pair_addr->wqe_prod = hw_srq->wqe_prod;
3764
3765 wr = wr->next;
3766 }
3767
3768 DP_DEBUG(dev, QEDR_MSG_SRQ, "POST: Elements in S-RQ: %d\n",
3769 qed_chain_get_elem_left(pbl));
3770 spin_unlock_irqrestore(&srq->lock, flags);
3771
3772 return status;
3773 }
3774
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years