CC: [email protected]
TO: "Lars-Peter Clausen" <[email protected]>
CC: Jonathan Cameron <[email protected]>
CC: Alexandru Ardelean <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
head:   0fd146b288591a8139220fec417dfc5652820480
commit: b9ad66ba4db6f349aa795ed59c3e42d4208844fa [47/53] iio: buffer-dma: Add 
mmap support
:::::: branch date: 22 hours ago
:::::: commit date: 22 hours ago
compiler: or1k-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/iio/buffer/industrialio-buffer-dma.c:669:11: warning: Unsigned 
>> variable 'i' can't be negative so it is unnecessary to test it. 
>> [unsignedPositive]
    for (; i >= 0; i--)
             ^

vim +669 drivers/iio/buffer/industrialio-buffer-dma.c

670b19ae9bfdbc Lars-Peter Clausen 2015-10-13  603  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  604  int 
iio_dma_buffer_alloc_blocks(struct iio_buffer *buffer,
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  605                               
struct iio_buffer_block_alloc_req *req)
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  606  {
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  607       struct 
iio_dma_buffer_queue *queue = iio_buffer_to_queue(buffer);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  608       struct 
iio_dma_buffer_block **blocks;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  609       unsigned int num_blocks;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  610       unsigned int i;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  611       int ret = 0;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  612  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  613       
mutex_lock(&queue->lock);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  614  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  615       /*
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  616        * If the buffer is 
enabled and in fileio mode new blocks can't be
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  617        * allocated.
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  618        */
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  619       if 
(queue->fileio.enabled) {
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  620               ret = -EBUSY;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  621               goto err_unlock;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  622       }
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  623  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  624       /* Free memory that 
might be in use for fileio mode */
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  625       
iio_dma_buffer_fileio_free(queue);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  626  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  627       /* 64 blocks ought to 
be enough for anybody ;) */
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  628       if (req->count > 64 - 
queue->num_blocks)
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  629               req->count = 64 
- queue->num_blocks;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  630       if (req->size > 
iio_dma_buffer_max_block_size)
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  631               req->size = 
iio_dma_buffer_max_block_size;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  632  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  633       req->id = 
queue->num_blocks;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  634  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  635       if (req->count == 0 || 
req->size == 0) {
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  636               ret = 0;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  637               goto err_unlock;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  638       }
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  639  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  640       num_blocks = req->count 
+ queue->num_blocks;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  641  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  642       blocks = 
krealloc(queue->blocks, sizeof(*blocks) * num_blocks,
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  643                         
GFP_KERNEL);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  644       if (!blocks) {
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  645               ret = -ENOMEM;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  646               goto err_unlock;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  647       }
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  648  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  649       for (i = 
queue->num_blocks; i < num_blocks; i++) {
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  650               blocks[i] = 
iio_dma_buffer_alloc_block(queue, req->size);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  651               if (!blocks[i]) 
{
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  652                       ret = 
-ENOMEM;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  653                       goto 
err_unwind;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  654               }
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  655               
blocks[i]->block.id = i;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  656               
blocks[i]->block.data.offset = queue->max_offset;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  657               
queue->max_offset += PAGE_ALIGN(req->size);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  658       }
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  659  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  660       req->count = i - 
queue->num_blocks;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  661       queue->num_blocks = i;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  662       queue->blocks = blocks;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  663  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  664       
mutex_unlock(&queue->lock);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  665  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  666       return 0;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  667  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  668  err_unwind:
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15 @669       for (; i >= 0; i--)
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  670               
iio_buffer_block_put(blocks[i]);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  671       kfree(blocks);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  672  err_unlock:
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  673       
mutex_unlock(&queue->lock);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  674  
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  675       return ret;
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  676  }
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  677  
EXPORT_SYMBOL_GPL(iio_dma_buffer_alloc_blocks);
b9ad66ba4db6f3 Lars-Peter Clausen 2021-02-15  678  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to