remarkable-linux/drivers/pci/hotplug
Sebastian Ott 9a99649f2a s390/pci: remove pdev pointer from arch data
For each PCI function we need to maintain arch specific data in
struct zpci_dev which also contains a pointer to struct pci_dev.

When a function is registered or deregistered (which is triggered by PCI
common code) we need to adjust that pointer which could interfere with
the machine check handler (triggered by FW) using zpci_dev->pdev.

Since multiple instances of the same pdev could exist at a time this can't
be solved with locking.

Fix that by ditching the pdev pointer and use a bus walk to reach
struct pci_dev (only one instance of a pdev can be registered at the bus
at a time).

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-02-23 08:56:16 +01:00
..
acpi_pcihp.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
acpiphp.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
acpiphp_core.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
acpiphp_glue.c Merge branches 'acpi-video' and 'acpi-hotplug' 2016-01-29 21:44:53 +01:00
acpiphp_ibm.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
cpci_hotplug.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpci_hotplug_core.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpci_hotplug_pci.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpcihp_generic.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpcihp_zt5550.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpcihp_zt5550.h
cpqphp.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpqphp_core.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpqphp_ctrl.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpqphp_nvram.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpqphp_nvram.h
cpqphp_pci.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
cpqphp_sysfs.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
ibmphp.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
ibmphp_core.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
ibmphp_ebda.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
ibmphp_hpc.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
ibmphp_pci.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
ibmphp_res.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
Kconfig
Makefile
pci_hotplug_core.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
pciehp.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
pciehp_core.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
pciehp_ctrl.c PCI: pciehp: Always protect pciehp_disable_slot() with hotplug mutex 2015-11-25 11:45:42 -06:00
pciehp_hpc.c
pciehp_pci.c
pcihp_skeleton.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
rpadlpar.h
rpadlpar_core.c PCI: hotplug: Use list_for_each_entry() to simplify code 2016-01-10 16:10:29 -06:00
rpadlpar_sysfs.c
rpaphp.h PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
rpaphp_core.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
rpaphp_pci.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
rpaphp_slot.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
s390_pci_hpc.c s390/pci: remove pdev pointer from arch data 2016-02-23 08:56:16 +01:00
sgi_hotplug.c PCI: Fix all whitespace issues 2016-01-08 10:35:24 -06:00
shpchp.h PCI: shpchp: Constify hpc_ops structure 2016-01-08 12:10:00 -06:00
shpchp_core.c Merge branch 'pci/trivial' into next 2016-01-20 11:48:25 -06:00
shpchp_ctrl.c
shpchp_hpc.c PCI: shpchp: Constify hpc_ops structure 2016-01-08 12:10:00 -06:00
shpchp_pci.c
shpchp_sysfs.c PCI: Use to_pci_dev() instead of open-coding it 2016-01-08 12:05:39 -06:00