From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev,
"Chia-Lin Kao (AceLan)" <acelan.kao@canonical.com>,
Andreas Noever <andreas.noever@gmail.com>,
Mika Westerberg <westeri@kernel.org>,
Yehezkel Bernat <YehezkelShB@gmail.com>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH v2] thunderbolt: Fix PCIe device enumeration with delayed rescan
Date: Thu, 22 Jan 2026 09:07:49 +0300 [thread overview]
Message-ID: <202601220733.dS3GMZRD-lkp@intel.com> (raw)
In-Reply-To: <20260121060857.237777-1-acelan.kao@canonical.com>
Hi Chia-Lin,
kernel test robot noticed the following build warnings:
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Chia-Lin-Kao-AceLan/thunderbolt-Fix-PCIe-device-enumeration-with-delayed-rescan/20260121-141206
base: https://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt.git next
patch link: https://lore.kernel.org/r/20260121060857.237777-1-acelan.kao%40canonical.com
patch subject: [PATCH v2] thunderbolt: Fix PCIe device enumeration with delayed rescan
config: arm64-randconfig-r073-20260121 (https://download.01.org/0day-ci/archive/20260122/202601220733.dS3GMZRD-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 8.5.0
smatch version: v0.5.0-8985-g2614ff1a
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202601220733.dS3GMZRD-lkp@intel.com/
smatch warnings:
drivers/thunderbolt/tb.c:128 tb_pci_rescan_work_fn() error: uninitialized symbol 'dev'.
drivers/thunderbolt/tb.c:2392 tb_tunnel_pci() error: uninitialized symbol 'dev'.
vim +/dev +128 drivers/thunderbolt/tb.c
d6d458d42e1e15 Mika Westerberg 2024-08-20 102 static void tb_queue_dp_bandwidth_request(struct tb *tb, u64 route, u8 port,
d6d458d42e1e15 Mika Westerberg 2024-08-20 103 int retry, unsigned long delay);
4f807e47ee9a75 Mika Westerberg 2018-09-17 104
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 105) static void tb_pci_rescan_work_fn(struct work_struct *work)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 106) {
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 107) struct tb_pci_rescan_work *rescan_work =
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 108) container_of(work, typeof(*rescan_work), work.work);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 109) struct tb *tb = rescan_work->tb;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 110) struct pci_bus *bus = rescan_work->bus;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 111) int devices_after = 0;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 112) struct pci_dev *dev;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 113) struct tb_switch *sw;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 114) struct tb_port *port;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 115)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 116) mutex_lock(&tb->lock);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 117)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 118) sw = tb_switch_find_by_route(tb, rescan_work->route);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 119) if (!sw) {
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 120) tb_dbg(tb, "Switch at route %llx disappeared, skipping rescan\n",
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 121) rescan_work->route);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 122) goto out_unlock;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 123) }
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 124)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 125) port = &sw->ports[rescan_work->port];
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 126)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 127) pci_lock_rescan_remove();
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 @128) for_each_pci_dev(dev)
^^^
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 129) devices_after++;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 130) pci_unlock_rescan_remove();
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 131)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 132) if (devices_after > rescan_work->devices_before) {
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 133) tb_port_dbg(port, "pciehp enumerated %d new device(s)\n",
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 134) devices_after - rescan_work->devices_before);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 135) } else {
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 136) tb_port_info(port, "pciehp failed to enumerate devices, triggering rescan\n");
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 137)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 138) pci_lock_rescan_remove();
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 139) pci_rescan_bus(bus);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 140)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 141) devices_after = 0;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 142) for_each_pci_dev(dev)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 143) devices_after++;
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 144) pci_unlock_rescan_remove();
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 145)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 146) if (devices_after > rescan_work->devices_before)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 147) tb_port_info(port, "rescan found %d new device(s)\n",
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 148) devices_after - rescan_work->devices_before);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 149) else
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 150) tb_port_warn(port, "no devices found even after rescan\n");
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 151) }
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 152)
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 153) tb_switch_put(sw);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 154) out_unlock:
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 155) mutex_unlock(&tb->lock);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 156) kfree(rescan_work);
eb51ddfd22dbc5 Chia-Lin Kao (AceLan 2026-01-21 157) }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2026-01-22 6:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-21 6:08 [PATCH v2] thunderbolt: Fix PCIe device enumeration with delayed rescan Chia-Lin Kao (AceLan)
2026-01-21 6:35 ` Mika Westerberg
2026-01-21 19:05 ` kernel test robot
2026-01-22 6:07 ` Dan Carpenter [this message]
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=202601220733.dS3GMZRD-lkp@intel.com \
--to=dan.carpenter@linaro.org \
--cc=YehezkelShB@gmail.com \
--cc=acelan.kao@canonical.com \
--cc=andreas.noever@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=westeri@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox