summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorMyron Stowe <myron.stowe@redhat.com>2014-10-30 18:54:50 +0100
committerBjorn Helgaas <bhelgaas@google.com>2014-11-19 23:07:42 +0100
commit7e79c5f8cad2ac1dc26c03e1aa16216391a04dad (patch)
tree72176348356d3958a4294b77dfdf6519dc3cf309 /drivers/pci
parentPCI: Shrink decoding-disabled window while sizing BARs (diff)
downloadlinux-7e79c5f8cad2ac1dc26c03e1aa16216391a04dad.tar.xz
linux-7e79c5f8cad2ac1dc26c03e1aa16216391a04dad.zip
PCI: Add informational printk for invalid BARs
As a consequence of restoring the detection of invalid BARs, add a new informational printk like the following when such occurrences are encountered. pci ssss:bb:dd.f: [Firmware Bug]: reg 0xXX: invalid BAR (can't size) Reported-by: William Unruh <unruh@physics.ubc.ca> Reported-by: Martin Lucina <martin@lucina.net> Signed-off-by: Myron Stowe <myron.stowe@redhat.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> CC: Matthew Wilcox <willy@linux.intel.com>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/probe.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 529fcd782e43..6029ad786146 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -247,8 +247,11 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
goto fail;
sz64 = pci_size(l64, sz64, mask64);
- if (!sz64)
+ if (!sz64) {
+ dev_info(&dev->dev, FW_BUG "reg 0x%x: invalid BAR (can't size)\n",
+ pos);
goto fail;
+ }
if (res->flags & IORESOURCE_MEM_64) {
if ((sizeof(dma_addr_t) < 8 || sizeof(resource_size_t) < 8) &&