android_kernel_oneplus_msm8998/drivers/pci/host
Murali Karicheri 5bbc2b412a PCI: keystone: Fix MSI code that retrieves struct pcie_port pointer
commit 79e3f4a853ed161cd4c06d84b50beebf961a47c6 upstream.

Commit cbce790059 ("PCI: designware: Make driver arch-agnostic") changed
the host bridge sysdata pointer from the ARM pci_sys_data to the DesignWare
pcie_port structure, and changed pcie-designware.c to reflect that.  But it
did not change the corresponding code in pci-keystone-dw.c, so it caused
crashes on Keystone:

  Unable to handle kernel NULL pointer dereference at virtual address 00000030
  pgd = c0003000
  [00000030] *pgd=80000800004003, *pmd=00000000
  Internal error: Oops: 206 [#1] PREEMPT SMP ARM
  CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.2-00139-gb74f926 #2
  Hardware name: Keystone
  PC is at ks_dw_pcie_msi_irq_unmask+0x24/0x58

Change pci-keystone-dw.c to expect sysdata to be the struct pcie_port
pointer.

[bhelgaas: changelog]
Fixes: cbce790059 ("PCI: designware: Make driver arch-agnostic")
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Zhou Wang <wangzhou1@hisilicon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-03-09 15:34:49 -08:00
..
Kconfig PCI: dra7xx: Mark driver as broken 2016-01-08 09:58:31 -06:00
Makefile Merge branch 'pci/host-hisi' into next 2015-11-03 08:39:19 -06:00
pci-dra7xx.c PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD 2016-02-17 12:30:56 -08:00
pci-exynos.c PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD 2016-02-17 12:30:56 -08:00
pci-host-generic.c PCI: generic: Fix address window calculation for non-zero starting bus 2015-10-09 18:18:35 -05:00
pci-imx6.c PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD 2016-02-17 12:30:56 -08:00
pci-keystone-dw.c PCI: keystone: Fix MSI code that retrieves struct pcie_port pointer 2016-03-09 15:34:49 -08:00
pci-keystone.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
pci-keystone.h PCI: designware: Make get_msi_addr() return phys_addr_t, not u32 2015-09-18 13:58:35 -05:00
pci-layerscape.c PCI: layerscape: Add ls_pcie_msi_host_init() 2015-11-02 15:38:39 -06:00
pci-mvebu.c PCI: mvebu: Remove code restricting accesses to slot 0 2015-10-09 11:23:37 -05:00
pci-rcar-gen2.c PCI: rcar: Add R8A7794 support 2015-09-24 17:06:32 -05:00
pci-tegra.c PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD 2016-02-17 12:30:56 -08:00
pci-versatile.c
pci-xgene-msi.c irqdomain/msi: Use fwnode instead of of_node 2015-10-13 19:01:25 +02:00
pci-xgene.c PCI/MSI: xgene: Remove msi_controller assignment 2015-09-25 18:24:28 -05:00
pcie-altera-msi.c PCI changes for the v4.4 merge window: 2015-11-06 11:29:53 -08:00
pcie-altera.c PCI: altera: Fix error when INTx is 4 2015-12-04 16:21:21 -06:00
pcie-designware.c PCI: designware: Remove incorrect io_base assignment 2015-11-24 14:06:41 -06:00
pcie-designware.h PCI: designware: Make driver arch-agnostic 2015-11-02 14:49:18 -06:00
pcie-hisi.c PCI: hisi: Fix hisi_pcie_cfg_read() 32-bit reads 2015-12-04 16:32:25 -06:00
pcie-iproc-bcma.c PCI: iproc: Free resource list after registration 2015-05-27 18:34:05 -05:00
pcie-iproc-platform.c PCI: iproc: Add outbound mapping support 2015-10-16 08:18:24 -05:00
pcie-iproc.c PCI: iproc: Fix header comment "Corporation" misspelling 2015-10-22 13:53:13 -05:00
pcie-iproc.h PCI: iproc: Add outbound mapping support 2015-10-16 08:18:24 -05:00
pcie-rcar.c PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD 2016-02-17 12:30:56 -08:00
pcie-spear13xx.c PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD 2016-02-17 12:30:56 -08:00
pcie-xilinx.c PCI: host: Mark PCIe/PCI (MSI) IRQ cascade handlers as IRQF_NO_THREAD 2016-02-17 12:30:56 -08:00