[PATCH 0/6] PCI: fix pci_remap_iospace() failure paths

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On ARM/ARM64 architectures, PCI IO ports are emulated through memory
mapped IO, by reserving a chunk of virtual address space starting at
PCI_IOBASE and by mapping the PCI host bridges memory address space
driving PCI IO cycles to it.

PCI host bridge drivers that enable downstream PCI IO cycles map the
host bridge memory address responding to PCI IO cycles to the fixed
virtual address space through the pci_remap_iospace() API.

This means that if the pci_remap_iospace() function fails, the
corresponding host bridge PCI IO resource must be considered invalid, in
that there is no way for the kernel to actually drive PCI IO transactions
if the memory addresses responding to PCI IO cycles cannot be mapped into
the CPU virtual address space.

As a follow-up to the linux-pci mailing list thread ([0]), this series
fixes the pci_remap_iospace() failure paths by adding code that handles
the failures and takes the required actions.

Compile tested on all affected PCI host controllers, testing and
reviewing much appreciated.

[0] http://marc.info/?l=linux-pci&m=145816042427417&w=2

Lorenzo Pieralisi (6):
  drivers: pci: host: aardvark: fix pci_remap_iospace() failure path
  drivers: pci: host: designware: fix pci_remap_iospace() failure path
  drivers: pci: host: versatile: fix pci_remap_iospace() failure path
  drivers: pci: host: rcar: fix pci_remap_iospace() failure path
  drivers: pci: host: common: fix pci_remap_iospace() failure path
  drivers: pci: host: tegra: fix pci_remap_iospace() failure path

 drivers/pci/host/pci-aardvark.c    |  8 +++++---
 drivers/pci/host/pci-host-common.c |  8 +++++---
 drivers/pci/host/pci-tegra.c       |  7 +++++--
 drivers/pci/host/pci-versatile.c   |  8 +++++---
 drivers/pci/host/pcie-designware.c | 21 ++++++++++++---------
 drivers/pci/host/pcie-rcar.c       |  9 ++++++---
 6 files changed, 38 insertions(+), 23 deletions(-)

-- 
2.6.4

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux