drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Sat Jul 15 2023 - 16:58:25 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 831fe284d8275987596b7d640518dddba5735f61
commit: 93a4fa622eb061f75f87f0cf9609ab4e69c67d01 LoongArch: Add STACKTRACE support
date: 11 months ago
config: loongarch-randconfig-r093-20230716 (https://download.01.org/0day-ci/archive/20230716/202307160417.65ygNVzI-lkp@xxxxxxxxx/config)
compiler: loongarch64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230716/202307160417.65ygNVzI-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307160417.65ygNVzI-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: got unsigned int [noderef] __percpu *
>> drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: got unsigned int [noderef] __percpu *
>> drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: got unsigned int [noderef] __percpu *
>> drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: got unsigned int [noderef] __percpu *
>> drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: got int [noderef] __percpu *
>> drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: got int [noderef] __percpu *
>> drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: got int [noderef] __percpu *
>> drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:165:9: sparse: got int [noderef] __percpu *
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: got unsigned int [noderef] __percpu *
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: got unsigned int [noderef] __percpu *
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: got unsigned int [noderef] __percpu *
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: got unsigned int [noderef] __percpu *
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: got int [noderef] __percpu *
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: got int [noderef] __percpu *
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: got int [noderef] __percpu *
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: expected void *ptr
drivers/media/usb/uvc/uvc_queue.c:184:9: sparse: got int [noderef] __percpu *

vim +165 drivers/media/usb/uvc/uvc_queue.c

66847ef013cc4e drivers/media/video/uvc/uvc_queue.c Laurent Pinchart 2011-09-24 158
a11a03e50b7323 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 159 static int uvc_start_streaming(struct vb2_queue *vq, unsigned int count)
a11a03e50b7323 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 160 {
a11a03e50b7323 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 161 struct uvc_video_queue *queue = vb2_get_drv_priv(vq);
a11a03e50b7323 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 162 struct uvc_streaming *stream = uvc_queue_to_stream(queue);
ef33d901db3026 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 163 int ret;
a11a03e50b7323 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 164
c50c9c1e659d8d drivers/media/usb/uvc/uvc_queue.c Kieran Bingham 2018-01-03 @165 lockdep_assert_irqs_enabled();
c50c9c1e659d8d drivers/media/usb/uvc/uvc_queue.c Kieran Bingham 2018-01-03 166
a11a03e50b7323 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 167 queue->buf_used = 0;
a11a03e50b7323 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 168
571e70dbd42105 drivers/media/usb/uvc/uvc_queue.c Kieran Bingham 2018-11-05 169 ret = uvc_video_start_streaming(stream);
ef33d901db3026 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 170 if (ret == 0)
ef33d901db3026 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 171 return 0;
ef33d901db3026 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 172
c50c9c1e659d8d drivers/media/usb/uvc/uvc_queue.c Kieran Bingham 2018-01-03 173 spin_lock_irq(&queue->irqlock);
ef33d901db3026 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 174 uvc_queue_return_buffers(queue, UVC_BUF_STATE_QUEUED);
c50c9c1e659d8d drivers/media/usb/uvc/uvc_queue.c Kieran Bingham 2018-01-03 175 spin_unlock_irq(&queue->irqlock);
ef33d901db3026 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 176
ef33d901db3026 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 177 return ret;
a11a03e50b7323 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 178 }
a11a03e50b7323 drivers/media/usb/uvc/uvc_queue.c Laurent Pinchart 2014-10-21 179

:::::: The code at line 165 was first introduced by commit
:::::: c50c9c1e659d8de9c13441f243e7938413be6e71 media: uvcvideo: queue: Simplify spin-lock usage

:::::: TO: Kieran Bingham <kieran.bingham@xxxxxxxxxxxxxxxx>
:::::: CC: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki