Re: pci 0000:01:00.0: BAR 6: no parent found for of device[0xfffe0000-0xffffffff]

From: Matthew Wilcox
Date: Wed Jun 24 2009 - 15:50:51 EST


On Wed, Jun 24, 2009 at 09:30:07PM +0200, Rafael J. Wysocki wrote:
> (Adding CC to linux-pci)

Thanks Rafael.

> On Wednesday 24 June 2009, Justin Mattock wrote:
> > (just pulled the latest git)
> > And am seeing this:
>
> Where pci 0000:01:00.0 and 0000:02:00.0 are what?
>
> > [ 0.696001] pci 0000:01:00.0: BAR 6: no parent found for of device
> > [0xfffe0000-0xffffffff]

So the message is coming from pci_claim_resource, and
if you bother to bisect, you'll track it back to my commit
a76117dfd687ec4be0a9a05214f3009cc5f73a42 . What's going on here, since
this is BAR 6, is we have a ROM which has been mapped high, and then
not unmapped. The BAR doesn't fit in the parent's window, so the code
is rightly declining to allocate the BAR.

Before my patch, we silently didn't allocate the BARs. Now we print
a message. I wonder what to do ... we could silence this warning in
pci_claim_resource (patch below). Or we could declare this to be a bug,
and fix it by disabling the ROM BAR (by clearing bit 0).

I'm agnostic ... anyone have any preferences?

----

Silence spurious warning about ROM BARs

We shouldn't warn about not being able to allocate ROM BARs. They are
often deliberately mapped outside the range of parent windows in order
to disable them.

Also fix the message to delete the spurious 'of'.

Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>

diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index 1240351..d1b980c 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -109,8 +109,8 @@ int pci_claim_resource(struct pci_dev *dev, int resource)
if (root != NULL)
err = insert_resource(root, res);

- if (err) {
- dev_err(&dev->dev, "BAR %d: %s of %s %pR\n",
+ if (err && (resource != 6)) {
+ dev_err(&dev->dev, "BAR %d: %s %s %pR\n",
resource,
root ? "address space collision on" :
"no parent found for",

--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/