From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/bus/mhi/ep/main.c:641:33: warning: Uninitialized variable: ring [uninitvar]
Date: Mon, 06 Jun 2022 17:10:18 +0800 [thread overview]
Message-ID: <202206061719.FTH5onJU-lkp@intel.com> (raw)
[-- 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
reply other threads:[~2022-06-06 9:10 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202206061719.FTH5onJU-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.