From: Dan Carpenter <error27@gmail.com>
To: oe-kbuild@lists.linux.dev,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Mickaël Salaün" <mic@digikod.net>,
"Mika Westerberg" <mika.westerberg@linux.intel.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Arnd Bergmann" <arnd@arndb.de>,
"Bjorn Helgaas" <helgaas@kernel.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
"Niklas Schnelle" <schnelle@linux.ibm.com>,
"Pali Rohár" <pali@kernel.org>,
"Maciej W. Rozycki" <macro@orcam.me.uk>,
"Juergen Gross" <jgross@suse.com>,
"Dominik Brodowski" <linux@dominikbrodowski.net>,
linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
Miguel Ojeda <ojeda@kernel.org>,
Richard Henderson <richard.henderson@linaro.org>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
Matt Turner <mattst88@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Date: Sat, 11 Mar 2023 16:54:32 +0300 [thread overview]
Message-ID: <d057ac5c-5947-41e1-abc7-9428fbd2fbe2@kili.mountain> (raw)
In-Reply-To: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>
Hi Andy,
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/PCI-Introduce-pci_dev_for_each_resource/20230311-011642
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20230310171416.23356-2-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20230311/202303112149.xD47qKOY-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Link: https://lore.kernel.org/r/202303112149.xD47qKOY-lkp@intel.com/
smatch warnings:
drivers/pnp/quirks.c:248 quirk_system_pci_resources() warn: was && intended here instead of ||?
vim +248 drivers/pnp/quirks.c
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 229 static void quirk_system_pci_resources(struct pnp_dev *dev)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 230 {
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 231 struct pci_dev *pdev = NULL;
059b4a086017fb Mika Westerberg 2023-03-10 232 struct resource *res, *r;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 233 int i, j;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 234
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 235 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 236 * Some BIOSes have PNP motherboard devices with resources that
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 237 * partially overlap PCI BARs. The PNP system driver claims these
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 238 * motherboard resources, which prevents the normal PCI driver from
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 239 * requesting them later.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 240 *
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 241 * This patch disables the PNP resources that conflict with PCI BARs
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 242 * so they won't be claimed by the PNP system driver.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 243 */
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 244 for_each_pci_dev(pdev) {
059b4a086017fb Mika Westerberg 2023-03-10 245 pci_dev_for_each_resource(pdev, r, i) {
059b4a086017fb Mika Westerberg 2023-03-10 246 unsigned long type = resource_type(r);
999ed65ad12e37 Rene Herman 2008-07-25 247
059b4a086017fb Mika Westerberg 2023-03-10 @248 if (type != IORESOURCE_IO || type != IORESOURCE_MEM ||
^^
This || needs to be &&. This loop will always hit the continue path
without doing anything.
059b4a086017fb Mika Westerberg 2023-03-10 249 resource_size(r) == 0)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 250 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 251
059b4a086017fb Mika Westerberg 2023-03-10 252 if (r->flags & IORESOURCE_UNSET)
f7834c092c4299 Bjorn Helgaas 2015-03-03 253 continue;
f7834c092c4299 Bjorn Helgaas 2015-03-03 254
95ab3669f78306 Bjorn Helgaas 2008-04-28 255 for (j = 0;
999ed65ad12e37 Rene Herman 2008-07-25 256 (res = pnp_get_resource(dev, type, j)); j++) {
aee3ad815dd291 Bjorn Helgaas 2008-06-27 257 if (res->start == 0 && res->end == 0)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 258 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 259
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 260 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 261 * If the PNP region doesn't overlap the PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 262 * region at all, there's no problem.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 263 */
059b4a086017fb Mika Westerberg 2023-03-10 264 if (!resource_overlaps(res, r))
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 265 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 266
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 267 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 268 * If the PNP region completely encloses (or is
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 269 * at least as large as) the PCI region, that's
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 270 * also OK. For example, this happens when the
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 271 * PNP device describes a bridge with PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 272 * behind it.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 273 */
059b4a086017fb Mika Westerberg 2023-03-10 274 if (res->start <= r->start && res->end >= r->end)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 275 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 276
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 277 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 278 * Otherwise, the PNP region overlaps *part* of
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 279 * the PCI region, and that might prevent a PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 280 * driver from requesting its resources.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 281 */
c7dabef8a2c59e Bjorn Helgaas 2009-10-27 282 dev_warn(&dev->dev,
059b4a086017fb Mika Westerberg 2023-03-10 283 "disabling %pR because it overlaps %s BAR %d %pR\n",
059b4a086017fb Mika Westerberg 2023-03-10 284 res, pci_name(pdev), i, r);
4b34fe156455d2 Bjorn Helgaas 2008-06-02 285 res->flags |= IORESOURCE_DISABLED;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 286 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 287 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 288 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 289 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <error27@gmail.com>
To: oe-kbuild@lists.linux.dev,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Mickaël Salaün" <mic@digikod.net>,
"Mika Westerberg" <mika.westerberg@linux.intel.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Arnd Bergmann" <arnd@arndb.de>,
"Bjorn Helgaas" <helgaas@kernel.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
"Niklas Schnelle" <schnelle@linux.ibm.com>,
"Pali Rohár" <pali@kernel.org>,
"Maciej W. Rozycki" <macro@orcam.me.uk>,
"Juergen Gross" <jgross@suse.com>,
"Dominik Brodowski" <linux@dominikbrodowski.net>,
linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org
Cc: Andrew Lunn <andrew@lunn.ch>,
lkp@intel.com, Richard Henderson <richard.henderson@linaro.org>,
Russell King <linux@armlinux.org.uk>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
oe-kbuild-all@lists.linux.dev, Miguel Ojeda <ojeda@kernel.org>,
Matt Turner <mattst88@gmail.com>
Subject: Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Date: Sat, 11 Mar 2023 16:54:32 +0300 [thread overview]
Message-ID: <d057ac5c-5947-41e1-abc7-9428fbd2fbe2@kili.mountain> (raw)
In-Reply-To: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>
Hi Andy,
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/PCI-Introduce-pci_dev_for_each_resource/20230311-011642
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20230310171416.23356-2-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20230311/202303112149.xD47qKOY-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Link: https://lore.kernel.org/r/202303112149.xD47qKOY-lkp@intel.com/
smatch warnings:
drivers/pnp/quirks.c:248 quirk_system_pci_resources() warn: was && intended here instead of ||?
vim +248 drivers/pnp/quirks.c
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 229 static void quirk_system_pci_resources(struct pnp_dev *dev)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 230 {
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 231 struct pci_dev *pdev = NULL;
059b4a086017fb Mika Westerberg 2023-03-10 232 struct resource *res, *r;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 233 int i, j;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 234
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 235 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 236 * Some BIOSes have PNP motherboard devices with resources that
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 237 * partially overlap PCI BARs. The PNP system driver claims these
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 238 * motherboard resources, which prevents the normal PCI driver from
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 239 * requesting them later.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 240 *
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 241 * This patch disables the PNP resources that conflict with PCI BARs
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 242 * so they won't be claimed by the PNP system driver.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 243 */
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 244 for_each_pci_dev(pdev) {
059b4a086017fb Mika Westerberg 2023-03-10 245 pci_dev_for_each_resource(pdev, r, i) {
059b4a086017fb Mika Westerberg 2023-03-10 246 unsigned long type = resource_type(r);
999ed65ad12e37 Rene Herman 2008-07-25 247
059b4a086017fb Mika Westerberg 2023-03-10 @248 if (type != IORESOURCE_IO || type != IORESOURCE_MEM ||
^^
This || needs to be &&. This loop will always hit the continue path
without doing anything.
059b4a086017fb Mika Westerberg 2023-03-10 249 resource_size(r) == 0)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 250 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 251
059b4a086017fb Mika Westerberg 2023-03-10 252 if (r->flags & IORESOURCE_UNSET)
f7834c092c4299 Bjorn Helgaas 2015-03-03 253 continue;
f7834c092c4299 Bjorn Helgaas 2015-03-03 254
95ab3669f78306 Bjorn Helgaas 2008-04-28 255 for (j = 0;
999ed65ad12e37 Rene Herman 2008-07-25 256 (res = pnp_get_resource(dev, type, j)); j++) {
aee3ad815dd291 Bjorn Helgaas 2008-06-27 257 if (res->start == 0 && res->end == 0)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 258 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 259
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 260 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 261 * If the PNP region doesn't overlap the PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 262 * region at all, there's no problem.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 263 */
059b4a086017fb Mika Westerberg 2023-03-10 264 if (!resource_overlaps(res, r))
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 265 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 266
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 267 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 268 * If the PNP region completely encloses (or is
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 269 * at least as large as) the PCI region, that's
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 270 * also OK. For example, this happens when the
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 271 * PNP device describes a bridge with PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 272 * behind it.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 273 */
059b4a086017fb Mika Westerberg 2023-03-10 274 if (res->start <= r->start && res->end >= r->end)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 275 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 276
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 277 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 278 * Otherwise, the PNP region overlaps *part* of
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 279 * the PCI region, and that might prevent a PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 280 * driver from requesting its resources.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 281 */
c7dabef8a2c59e Bjorn Helgaas 2009-10-27 282 dev_warn(&dev->dev,
059b4a086017fb Mika Westerberg 2023-03-10 283 "disabling %pR because it overlaps %s BAR %d %pR\n",
059b4a086017fb Mika Westerberg 2023-03-10 284 res, pci_name(pdev), i, r);
4b34fe156455d2 Bjorn Helgaas 2008-06-02 285 res->flags |= IORESOURCE_DISABLED;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 286 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 287 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 288 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 289 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <error27@gmail.com>
To: oe-kbuild@lists.linux.dev,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Mickaël Salaün" <mic@digikod.net>,
"Mika Westerberg" <mika.westerberg@linux.intel.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Arnd Bergmann" <arnd@arndb.de>,
"Bjorn Helgaas" <helgaas@kernel.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
"Niklas Schnelle" <schnelle@linux.ibm.com>,
"Pali Rohár" <pali@kernel.org>,
"Maciej W. Rozycki" <macro@orcam.me.uk>,
"Juergen Gross" <jgross@suse.com>,
"Dominik Brodowski" <linux@dominikbrodowski.net>,
linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
Miguel Ojeda <ojeda@kernel.org>,
Richard Henderson <richard.henderson@linaro.org>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
Matt Turner <mattst88@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Date: Sat, 11 Mar 2023 16:54:32 +0300 [thread overview]
Message-ID: <d057ac5c-5947-41e1-abc7-9428fbd2fbe2@kili.mountain> (raw)
In-Reply-To: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>
Hi Andy,
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/PCI-Introduce-pci_dev_for_each_resource/20230311-011642
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20230310171416.23356-2-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20230311/202303112149.xD47qKOY-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Link: https://lore.kernel.org/r/202303112149.xD47qKOY-lkp@intel.com/
smatch warnings:
drivers/pnp/quirks.c:248 quirk_system_pci_resources() warn: was && intended here instead of ||?
vim +248 drivers/pnp/quirks.c
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 229 static void quirk_system_pci_resources(struct pnp_dev *dev)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 230 {
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 231 struct pci_dev *pdev = NULL;
059b4a086017fb Mika Westerberg 2023-03-10 232 struct resource *res, *r;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 233 int i, j;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 234
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 235 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 236 * Some BIOSes have PNP motherboard devices with resources that
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 237 * partially overlap PCI BARs. The PNP system driver claims these
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 238 * motherboard resources, which prevents the normal PCI driver from
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 239 * requesting them later.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 240 *
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 241 * This patch disables the PNP resources that conflict with PCI BARs
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 242 * so they won't be claimed by the PNP system driver.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 243 */
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 244 for_each_pci_dev(pdev) {
059b4a086017fb Mika Westerberg 2023-03-10 245 pci_dev_for_each_resource(pdev, r, i) {
059b4a086017fb Mika Westerberg 2023-03-10 246 unsigned long type = resource_type(r);
999ed65ad12e37 Rene Herman 2008-07-25 247
059b4a086017fb Mika Westerberg 2023-03-10 @248 if (type != IORESOURCE_IO || type != IORESOURCE_MEM ||
^^
This || needs to be &&. This loop will always hit the continue path
without doing anything.
059b4a086017fb Mika Westerberg 2023-03-10 249 resource_size(r) == 0)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 250 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 251
059b4a086017fb Mika Westerberg 2023-03-10 252 if (r->flags & IORESOURCE_UNSET)
f7834c092c4299 Bjorn Helgaas 2015-03-03 253 continue;
f7834c092c4299 Bjorn Helgaas 2015-03-03 254
95ab3669f78306 Bjorn Helgaas 2008-04-28 255 for (j = 0;
999ed65ad12e37 Rene Herman 2008-07-25 256 (res = pnp_get_resource(dev, type, j)); j++) {
aee3ad815dd291 Bjorn Helgaas 2008-06-27 257 if (res->start == 0 && res->end == 0)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 258 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 259
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 260 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 261 * If the PNP region doesn't overlap the PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 262 * region at all, there's no problem.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 263 */
059b4a086017fb Mika Westerberg 2023-03-10 264 if (!resource_overlaps(res, r))
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 265 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 266
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 267 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 268 * If the PNP region completely encloses (or is
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 269 * at least as large as) the PCI region, that's
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 270 * also OK. For example, this happens when the
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 271 * PNP device describes a bridge with PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 272 * behind it.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 273 */
059b4a086017fb Mika Westerberg 2023-03-10 274 if (res->start <= r->start && res->end >= r->end)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 275 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 276
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 277 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 278 * Otherwise, the PNP region overlaps *part* of
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 279 * the PCI region, and that might prevent a PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 280 * driver from requesting its resources.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 281 */
c7dabef8a2c59e Bjorn Helgaas 2009-10-27 282 dev_warn(&dev->dev,
059b4a086017fb Mika Westerberg 2023-03-10 283 "disabling %pR because it overlaps %s BAR %d %pR\n",
059b4a086017fb Mika Westerberg 2023-03-10 284 res, pci_name(pdev), i, r);
4b34fe156455d2 Bjorn Helgaas 2008-06-02 285 res->flags |= IORESOURCE_DISABLED;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 286 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 287 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 288 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 289 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <error27@gmail.com>
To: oe-kbuild@lists.linux.dev,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Mickaël Salaün" <mic@digikod.net>,
"Mika Westerberg" <mika.westerberg@linux.intel.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Arnd Bergmann" <arnd@arndb.de>,
"Bjorn Helgaas" <helgaas@kernel.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
"Niklas Schnelle" <schnelle@linux.ibm.com>,
"Pali Rohár" <pali@kernel.org>,
"Maciej W. Rozycki" <macro@orcam.me.uk>,
"Juergen Gross" <jgross@suse.com>,
"Dominik Brodowski" <linux@dominikbrodowski.net>,
linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.o
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
Miguel Ojeda <ojeda@kernel.org>,
Richard Henderson <richard.henderson@linaro.org>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
Matt Turner <mattst88@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Date: Sat, 11 Mar 2023 16:54:32 +0300 [thread overview]
Message-ID: <d057ac5c-5947-41e1-abc7-9428fbd2fbe2@kili.mountain> (raw)
In-Reply-To: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>
Hi Andy,
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/PCI-Introduce-pci_dev_for_each_resource/20230311-011642
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20230310171416.23356-2-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20230311/202303112149.xD47qKOY-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Link: https://lore.kernel.org/r/202303112149.xD47qKOY-lkp@intel.com/
smatch warnings:
drivers/pnp/quirks.c:248 quirk_system_pci_resources() warn: was && intended here instead of ||?
vim +248 drivers/pnp/quirks.c
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 229 static void quirk_system_pci_resources(struct pnp_dev *dev)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 230 {
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 231 struct pci_dev *pdev = NULL;
059b4a086017fb Mika Westerberg 2023-03-10 232 struct resource *res, *r;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 233 int i, j;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 234
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 235 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 236 * Some BIOSes have PNP motherboard devices with resources that
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 237 * partially overlap PCI BARs. The PNP system driver claims these
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 238 * motherboard resources, which prevents the normal PCI driver from
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 239 * requesting them later.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 240 *
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 241 * This patch disables the PNP resources that conflict with PCI BARs
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 242 * so they won't be claimed by the PNP system driver.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 243 */
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 244 for_each_pci_dev(pdev) {
059b4a086017fb Mika Westerberg 2023-03-10 245 pci_dev_for_each_resource(pdev, r, i) {
059b4a086017fb Mika Westerberg 2023-03-10 246 unsigned long type = resource_type(r);
999ed65ad12e37 Rene Herman 2008-07-25 247
059b4a086017fb Mika Westerberg 2023-03-10 @248 if (type != IORESOURCE_IO || type != IORESOURCE_MEM ||
^^
This || needs to be &&. This loop will always hit the continue path
without doing anything.
059b4a086017fb Mika Westerberg 2023-03-10 249 resource_size(r) == 0)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 250 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 251
059b4a086017fb Mika Westerberg 2023-03-10 252 if (r->flags & IORESOURCE_UNSET)
f7834c092c4299 Bjorn Helgaas 2015-03-03 253 continue;
f7834c092c4299 Bjorn Helgaas 2015-03-03 254
95ab3669f78306 Bjorn Helgaas 2008-04-28 255 for (j = 0;
999ed65ad12e37 Rene Herman 2008-07-25 256 (res = pnp_get_resource(dev, type, j)); j++) {
aee3ad815dd291 Bjorn Helgaas 2008-06-27 257 if (res->start == 0 && res->end == 0)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 258 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 259
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 260 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 261 * If the PNP region doesn't overlap the PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 262 * region at all, there's no problem.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 263 */
059b4a086017fb Mika Westerberg 2023-03-10 264 if (!resource_overlaps(res, r))
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 265 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 266
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 267 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 268 * If the PNP region completely encloses (or is
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 269 * at least as large as) the PCI region, that's
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 270 * also OK. For example, this happens when the
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 271 * PNP device describes a bridge with PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 272 * behind it.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 273 */
059b4a086017fb Mika Westerberg 2023-03-10 274 if (res->start <= r->start && res->end >= r->end)
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 275 continue;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 276
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 277 /*
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 278 * Otherwise, the PNP region overlaps *part* of
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 279 * the PCI region, and that might prevent a PCI
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 280 * driver from requesting its resources.
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 281 */
c7dabef8a2c59e Bjorn Helgaas 2009-10-27 282 dev_warn(&dev->dev,
059b4a086017fb Mika Westerberg 2023-03-10 283 "disabling %pR because it overlaps %s BAR %d %pR\n",
059b4a086017fb Mika Westerberg 2023-03-10 284 res, pci_name(pdev), i, r);
4b34fe156455d2 Bjorn Helgaas 2008-06-02 285 res->flags |= IORESOURCE_DISABLED;
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 286 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 287 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 288 }
0509ad5e1a7d92 Bjorn Helgaas 2008-03-11 289 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-03-11 13:54 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-10 17:14 [PATCH v4 0/4] PCI: Add pci_dev_for_each_resource() helper and update users Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource() Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 21:51 ` kernel test robot
2023-03-10 21:51 ` kernel test robot
2023-03-10 21:51 ` kernel test robot
2023-03-10 21:51 ` kernel test robot
2023-03-10 22:15 ` Keith Busch
2023-03-10 22:15 ` Keith Busch
2023-03-10 22:15 ` Keith Busch
2023-03-10 22:15 ` Keith Busch
2023-03-14 18:39 ` Andy Shevchenko
2023-03-14 18:39 ` Andy Shevchenko
2023-03-14 18:39 ` Andy Shevchenko
2023-03-14 18:39 ` Andy Shevchenko
2023-03-11 13:54 ` Dan Carpenter [this message]
2023-03-11 13:54 ` Dan Carpenter
2023-03-11 13:54 ` Dan Carpenter
2023-03-11 13:54 ` Dan Carpenter
2023-03-14 18:43 ` Andy Shevchenko
2023-03-14 18:43 ` Andy Shevchenko
2023-03-14 18:43 ` Andy Shevchenko
2023-03-14 18:43 ` Andy Shevchenko
2023-03-10 17:14 ` [PATCH v4 2/4] PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource() Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` [PATCH v4 3/4] EISA: Convert to use pci_bus_for_each_resource_p() Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` [PATCH v4 4/4] pcmcia: " Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-10 17:14 ` Andy Shevchenko
2023-03-11 13:42 [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource() kernel test robot
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=d057ac5c-5947-41e1-abc7-9428fbd2fbe2@kili.mountain \
--to=error27@gmail.com \
--cc=andrew@lunn.ch \
--cc=andriy.shevchenko@linux.intel.com \
--cc=arnd@arndb.de \
--cc=helgaas@kernel.org \
--cc=ink@jurassic.park.msu.ru \
--cc=jgross@suse.com \
--cc=kw@linux.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linux@dominikbrodowski.net \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lkp@intel.com \
--cc=macro@orcam.me.uk \
--cc=mattst88@gmail.com \
--cc=mic@digikod.net \
--cc=mika.westerberg@linux.intel.com \
--cc=mpe@ellerman.id.au \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=ojeda@kernel.org \
--cc=pali@kernel.org \
--cc=rafael.j.wysocki@intel.com \
--cc=rdunlap@infradead.org \
--cc=richard.henderson@linaro.org \
--cc=schnelle@linux.ibm.com \
--cc=sparclinux@vger.kernel.org \
--cc=xen-devel@lists.xenproject.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.