* 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.