Subject: Re: [PATCH] fix pci_setup_phb_io_dynamic for pci_iomap

From: Benjamin Herrenschmidt <[email-masked]>
Date: Fri, 04 May 2007 07:31:43 +1000

On Thu, 2007-05-03 at 21:42 +0200, Arnd Bergmann wrote:
> We had a problem on a system with only dynamically allocated
> PCI buses (using of_pci_phb_driver) in combination with libata.
> 
> It turns out that pci_setup_phb_io_dynamic does a simple ioremap
> instead of an __ioremap_explicit into the reserved I/O space
> region, which causes pcim_iomap->pci_iomap->ioport_map to fail
> a sanity check for the virtual address of the I/O port.
> 
> Also, our setup ended up having no "primary" phb, which means
> that pci_io_base never got initialized. This caused the same
> bug independently.
> 
> This patch fixes both problems.

Hrm... dynamically added PHBs shouldn't use the reserved region.

We need to fix ioport_map instead I think. I'll have a look.

Ben.