[PATCH] fix pci_setup_phb_io_dynamic for pci_iomap

Benjamin Herrenschmidt benh at kernel.crashing.org
Fri May 4 07:31:43 EST 2007


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.





More information about the Linuxppc-dev mailing list