Re: [PATCH V5 4/4] rpmsg: char: Add signal callback and POLLPRI support

From: kernel test robot
Date: Wed Jun 24 2020 - 18:40:38 EST


Hi Deepak,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.8-rc2 next-20200624]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Deepak-Kumar-Singh/rpmsg-core-Add-signal-API-support/20200625-024527
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 3e08a95294a4fb3702bb3d35ed08028433c37fe6
config: riscv-randconfig-s031-20200624 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=riscv CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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


sparse warnings: (new ones prefixed by >>)

>> drivers/rpmsg/rpmsg_char.c:288:22: sparse: sparse: invalid assignment: |=
>> drivers/rpmsg/rpmsg_char.c:288:22: sparse: left side has type restricted __poll_t
>> drivers/rpmsg/rpmsg_char.c:288:22: sparse: right side has type int

vim +288 drivers/rpmsg/rpmsg_char.c

273
274 static __poll_t rpmsg_eptdev_poll(struct file *filp, poll_table *wait)
275 {
276 struct rpmsg_eptdev *eptdev = filp->private_data;
277 __poll_t mask = 0;
278
279 if (!eptdev->ept)
280 return EPOLLERR;
281
282 poll_wait(filp, &eptdev->readq, wait);
283
284 if (!skb_queue_empty(&eptdev->queue))
285 mask |= EPOLLIN | EPOLLRDNORM;
286
287 if (eptdev->sig_pending)
> 288 mask |= POLLPRI;
289
290 mask |= rpmsg_poll(eptdev->ept, filp, wait);
291
292 return mask;
293 }
294

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

Attachment: .config.gz
Description: application/gzip