linux/arch/s390/pci
Niklas Schnelle 652d40b2f8 s390/pci: fix DMA cleanup on hard deconfigure
In commit dee60c0dbc ("s390/pci: add zpci_event_hard_deconfigured()")
we added a zdev_enabled() check to what was previously an uncoditional
call to zpci_disable_device(). There are two problems with that. Firstly
zpci_had_deconfigured() is only called on event 0x0304 for which the
device is always already disabled by the platform so it is always false.
Secondly zpci_disable_device() not only disables the device but also
calls zpci_dma_exit_device() which is thus not called and we leak the
DMA tables.

Fix this by calling zpci_disable_device() unconditionally to perform
Linux side cleanup including the freeing of DMA tables.

Fixes: dee60c0dbc ("s390/pci: add zpci_event_hard_deconfigured()")
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Acked-by: Pierre Morel <pmorel@linux.ibm.com>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2021-03-28 20:23:54 +02:00
..
Makefile s390/pci: consolidate SR-IOV specific code 2020-09-14 11:38:34 +02:00
pci_bus.c s390/pci: move zpci_remove_device() to bus code 2021-03-22 11:36:04 +01:00
pci_bus.h s390/pci: move zpci_remove_device() to bus code 2021-03-22 11:36:04 +01:00
pci_clp.c s390/pci: refactor zpci_create_device() 2021-02-09 15:57:04 +01:00
pci_debug.c locking/atomic, s390/pci: Remove redundant casts 2019-06-03 12:32:57 +02:00
pci_dma.c dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
pci_event.c s390/pci: fix DMA cleanup on hard deconfigure 2021-03-28 20:23:54 +02:00
pci_insn.c s390/pci: provide support for MIO instructions 2019-04-29 10:47:01 +02:00
pci_iov.c s390/pci: add missing pci_iov.h include 2020-09-16 14:08:47 +02:00
pci_iov.h s390/pci: consolidate SR-IOV specific code 2020-09-14 11:38:34 +02:00
pci_irq.c Scheduler updates: 2020-12-14 18:29:11 -08:00
pci_mmio.c mm: provide a saner PTE walking API for modules 2021-02-09 07:05:44 -05:00
pci_sysfs.c s390/pci: create zPCI bus 2020-04-28 13:49:46 +02:00
pci.c s390/pci: move zpci_remove_device() to bus code 2021-03-22 11:36:04 +01:00