All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/bus/mhi/ep/main.c:641:33: warning: Uninitialized variable: ring [uninitvar]
@ 2022-06-06  9:10 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-06-06  9:10 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6374 bytes --]

:::::: 
:::::: Manual check reason: "low confidence static check warning: drivers/bus/mhi/ep/main.c:641:33: warning: Uninitialized variable: ring [uninitvar]"
:::::: 

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
CC: Alex Elder <elder@linaro.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f2906aa863381afb0015a9eb7fefad885d4e5a56
commit: 494a6f63937744d447630c9ab2f4a58f105b69f5 bus: mhi: ep: Add support for processing channel rings
date:   9 weeks ago
:::::: branch date: 9 hours ago
:::::: commit date: 9 weeks ago
compiler: riscv64-linux-gcc (GCC) 11.3.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout 494a6f63937744d447630c9ab2f4a58f105b69f5
        cppcheck --quiet --enable=style,performance,portability --template=gcc FILE

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>


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

>> drivers/bus/mhi/ep/main.c:641:33: warning: Uninitialized variable: ring [uninitvar]
     ret = mhi_ep_update_wr_offset(ring);
                                   ^
   drivers/bus/mhi/ep/main.c:638:13: note: Assignment 'ring=itr->ring', assigned value is <Uninit>
     ring = itr->ring;
               ^
   drivers/bus/mhi/ep/main.c:641:33: note: Uninitialized variable: ring
     ret = mhi_ep_update_wr_offset(ring);
                                   ^
   drivers/bus/mhi/ep/main.c:689:24: warning: Uninitialized variable: itr->state [uninitvar]
       mhi_state_str(itr->state));
                          ^

vim +641 drivers/bus/mhi/ep/main.c

2b231a40e9073a Manivannan Sadhasivam 2022-02-12  618  
494a6f63937744 Manivannan Sadhasivam 2022-02-12  619  static void mhi_ep_ch_ring_worker(struct work_struct *work)
494a6f63937744 Manivannan Sadhasivam 2022-02-12  620  {
494a6f63937744 Manivannan Sadhasivam 2022-02-12  621  	struct mhi_ep_cntrl *mhi_cntrl = container_of(work, struct mhi_ep_cntrl, ch_ring_work);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  622  	struct device *dev = &mhi_cntrl->mhi_dev->dev;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  623  	struct mhi_ep_ring_item *itr, *tmp;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  624  	struct mhi_ring_element *el;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  625  	struct mhi_ep_ring *ring;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  626  	struct mhi_ep_chan *chan;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  627  	unsigned long flags;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  628  	LIST_HEAD(head);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  629  	int ret;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  630  
494a6f63937744 Manivannan Sadhasivam 2022-02-12  631  	spin_lock_irqsave(&mhi_cntrl->list_lock, flags);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  632  	list_splice_tail_init(&mhi_cntrl->ch_db_list, &head);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  633  	spin_unlock_irqrestore(&mhi_cntrl->list_lock, flags);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  634  
494a6f63937744 Manivannan Sadhasivam 2022-02-12  635  	/* Process each queued channel ring. In case of an error, just process next element. */
494a6f63937744 Manivannan Sadhasivam 2022-02-12  636  	list_for_each_entry_safe(itr, tmp, &head, node) {
494a6f63937744 Manivannan Sadhasivam 2022-02-12  637  		list_del(&itr->node);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  638  		ring = itr->ring;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  639  
494a6f63937744 Manivannan Sadhasivam 2022-02-12  640  		/* Update the write offset for the ring */
494a6f63937744 Manivannan Sadhasivam 2022-02-12 @641  		ret = mhi_ep_update_wr_offset(ring);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  642  		if (ret) {
494a6f63937744 Manivannan Sadhasivam 2022-02-12  643  			dev_err(dev, "Error updating write offset for ring\n");
494a6f63937744 Manivannan Sadhasivam 2022-02-12  644  			kfree(itr);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  645  			continue;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  646  		}
494a6f63937744 Manivannan Sadhasivam 2022-02-12  647  
494a6f63937744 Manivannan Sadhasivam 2022-02-12  648  		/* Sanity check to make sure there are elements in the ring */
494a6f63937744 Manivannan Sadhasivam 2022-02-12  649  		if (ring->rd_offset == ring->wr_offset) {
494a6f63937744 Manivannan Sadhasivam 2022-02-12  650  			kfree(itr);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  651  			continue;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  652  		}
494a6f63937744 Manivannan Sadhasivam 2022-02-12  653  
494a6f63937744 Manivannan Sadhasivam 2022-02-12  654  		el = &ring->ring_cache[ring->rd_offset];
494a6f63937744 Manivannan Sadhasivam 2022-02-12  655  		chan = &mhi_cntrl->mhi_chan[ring->ch_id];
494a6f63937744 Manivannan Sadhasivam 2022-02-12  656  
494a6f63937744 Manivannan Sadhasivam 2022-02-12  657  		mutex_lock(&chan->lock);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  658  		dev_dbg(dev, "Processing the ring for channel (%u)\n", ring->ch_id);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  659  		ret = mhi_ep_process_ch_ring(ring, el);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  660  		if (ret) {
494a6f63937744 Manivannan Sadhasivam 2022-02-12  661  			dev_err(dev, "Error processing ring for channel (%u): %d\n",
494a6f63937744 Manivannan Sadhasivam 2022-02-12  662  				ring->ch_id, ret);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  663  			mutex_unlock(&chan->lock);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  664  			kfree(itr);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  665  			continue;
494a6f63937744 Manivannan Sadhasivam 2022-02-12  666  		}
494a6f63937744 Manivannan Sadhasivam 2022-02-12  667  
494a6f63937744 Manivannan Sadhasivam 2022-02-12  668  		mutex_unlock(&chan->lock);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  669  		kfree(itr);
494a6f63937744 Manivannan Sadhasivam 2022-02-12  670  	}
494a6f63937744 Manivannan Sadhasivam 2022-02-12  671  }
494a6f63937744 Manivannan Sadhasivam 2022-02-12  672  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-06  9:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-06  9:10 drivers/bus/mhi/ep/main.c:641:33: warning: Uninitialized variable: ring [uninitvar] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.