Hi "Christian,

I love your patch! Perhaps something to improve:

[auto build test WARNING on tegra-drm/drm/tegra/for-next]
[also build test WARNING on v5.13]
[cannot apply to linus/master next-20210709]
[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/Christian-K-nig/dma-buf-fix-and-rework-dma_buf_poll-v5/20210708-192030
base:   git://anongit.freedesktop.org/tegra/linux.git drm/tegra/for-next
config: mips-randconfig-r032-20210709 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 
8d69635ed9ecf36fd0ca85906bfde17949671cbe)
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 mips cross compiling tool for clang build
        # apt-get install binutils-mips-linux-gnu
        # 
https://github.com/0day-ci/linux/commit/07538f7542063f6043e1a5dab5f4aa572a091c96
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Christian-K-nig/dma-buf-fix-and-rework-dma_buf_poll-v5/20210708-192030
        git checkout 07538f7542063f6043e1a5dab5f4aa572a091c96
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir 
ARCH=mips SHELL=/bin/bash drivers/dma-buf/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/dma-buf/dma-buf.c:253:11: warning: unused variable 'shared_count'
   unsigned shared_count;
   ^
>> drivers/dma-buf/dma-buf.c:255:9: warning: unused variable 'i'
   int r, i;
   ^
>> drivers/dma-buf/dma-buf.c:255:6: warning: unused variable 'r'
   int r, i;
   ^
   fatal error: error in backend: Nested variants found in inline asm string: ' 
.set push
   .set mips64r2
   .if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data 
__attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) 
__if_trace = $( .func = __func__, .file = "arch/mips/include/asm/atomic.h", 
.line = 153, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; 
.rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
   1: ll $1, $2 # atomic_fetch_add
   addu $0, $1, $3
   sc $0, $2
   beqz $0, 1b
   .set pop
   move $0, $1
   '
   clang-13: error: clang frontend command failed with exit code 70 (use -v to 
see invocation)
   clang version 13.0.0 (git://gitmirror/llvm_project 
8d69635ed9ecf36fd0ca85906bfde17949671cbe)
   Target: mipsel-unknown-linux-gnu
   Thread model: posix
   InstalledDir: /opt/cross/clang-8d69635ed9/bin
   clang-13: note: diagnostic msg:
   Makefile arch drivers include kernel mm scripts source usr


vim +/shared_count +253 drivers/dma-buf/dma-buf.c

   248  
   249  static __poll_t dma_buf_poll(struct file *file, poll_table *poll)
   250  {
   251          struct dma_buf *dmabuf;
   252          struct dma_resv *resv;
 > 253          unsigned shared_count;
   254          __poll_t events;
 > 255          int r, i;
   256  
   257          dmabuf = file->private_data;
   258          if (!dmabuf || !dmabuf->resv)
   259                  return EPOLLERR;
   260  
   261          resv = dmabuf->resv;
   262  
   263          poll_wait(file, &dmabuf->poll, poll);
   264  
   265          events = poll_requested_events(poll) & (EPOLLIN | EPOLLOUT);
   266          if (!events)
   267                  return 0;
   268  
   269          dma_resv_lock(resv, NULL);
   270  
   271          if (events & EPOLLOUT) {
   272                  struct dma_buf_poll_cb_t *dcb = &dmabuf->cb_out;
   273  
   274                  /* Check that callback isn't busy */
   275                  spin_lock_irq(&dmabuf->poll.lock);
   276                  if (dcb->active)
   277                          events &= ~EPOLLOUT;
   278                  else
   279                          dcb->active = EPOLLOUT;
   280                  spin_unlock_irq(&dmabuf->poll.lock);
   281  
   282                  if (events & EPOLLOUT && !dma_buf_poll_shared(resv, 
dcb) &&
   283                      !dma_buf_poll_excl(resv, dcb))
   284                          /* No callback queued, wake up any other 
waiters */
   285                          dma_buf_poll_cb(NULL, &dcb->cb);
   286          }
   287  
   288          if (events & EPOLLIN) {
   289                  struct dma_buf_poll_cb_t *dcb = &dmabuf->cb_in;
   290  
   291                  /* Check that callback isn't busy */
   292                  spin_lock_irq(&dmabuf->poll.lock);
   293                  if (dcb->active)
   294                          events &= ~EPOLLIN;
   295                  else
   296                          dcb->active = EPOLLIN;
   297                  spin_unlock_irq(&dmabuf->poll.lock);
   298  
   299                  if (events & EPOLLIN && !dma_buf_poll_excl(resv, dcb))
   300                          /* No callback queued, wake up any other 
waiters */
   301                          dma_buf_poll_cb(NULL, &dcb->cb);
   302          }
   303  
   304          dma_resv_unlock(resv);
   305          return events;
   306  }
   307  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to