Re: [Regression] PCI resources allocation problem on HP nx6325

From: Manuel Lauss
Date: Tue Aug 11 2009 - 12:47:49 EST


On Fri, 7 Aug 2009 11:40:19 -0700 (PDT)
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

[explanation snipped]

> So this patch is not something that I'm going to apply to my tree, but
> it's worth testing out to just verify that yes, I finally understand
> exactly what's going on. Because if I'm right, your warning will now go
> away (and it could be replaced by _other_ issues, of course ;).


> ---
> drivers/pci/pci.c | 8 ++++++--
> 1 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index dbd0f94..89efbb5 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -367,8 +367,12 @@ pci_find_parent_resource(const struct pci_dev *dev, struct resource *res)
> continue; /* Wrong type */
> if (!((res->flags ^ r->flags) & IORESOURCE_PREFETCH))
> return r; /* Exact match */
> - if ((res->flags & IORESOURCE_PREFETCH) && !(r->flags & IORESOURCE_PREFETCH))
> - best = r; /* Approximating prefetchable by non-prefetchable */
> + /* We can't insert a non-prefetch resource inside a prefetchable parent .. */
> + if (r->flags & IORESOURCE_PREFETCH)
> + continue;
> + /* .. but we can put a prefetchable resource inside a non-prefetchable one */
> + if (!best)
> + best = r;
> }
> return best;
> }


The warning is gone, and /proc/iomem is identical to 2.6.30.
I'd say you've hit the nail on the head ;)

Thanks!
Manuel Lauss
--
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/