linux/drivers/s390/cio
Eric Farman 8c8d8ff760 vfio/ccw: Do not change FSM state in subchannel event
[ Upstream commit cffcc109fd ]

The routine vfio_ccw_sch_event() is tasked with handling subchannel events,
specifically machine checks, on behalf of vfio-ccw. It correctly calls
cio_update_schib(), and if that fails (meaning the subchannel is gone)
it makes an FSM event call to mark the subchannel Not Operational.

If that worked, however, then it decides that if the FSM state was already
Not Operational (implying the subchannel just came back), then it should
simply change the FSM to partially- or fully-open.

Remove this trickery, since a subchannel returning will require more
probing than simply "oh all is well again" to ensure it works correctly.

Fixes: bbe37e4cb8 ("vfio: ccw: introduce a finite state machine")
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Link: https://lore.kernel.org/r/20220707135737.720765-4-farman@linux.ibm.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2022-08-17 15:15:50 +02:00
..
airq.c s390/airq: use DMA memory for summary indicators 2022-03-08 00:33:00 +01:00
blacklist.c s390/cio: avoid excessive path-verification requests 2021-09-27 13:54:38 +02:00
blacklist.h s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
ccwgroup.c s390/qeth: fix deadlock during failing recovery 2021-09-21 20:02:24 -07:00
ccwreq.c s390/cio: add basic protected virtualization support 2019-06-15 12:25:00 +02:00
chp.c s390: replace snprintf in show functions with sysfs_emit 2021-11-16 12:29:19 +01:00
chp.h s390/cio: Add support for FCES status notification 2020-11-16 08:14:38 -07:00
chsc.c s390/stp: clock_delta should be signed 2022-05-11 14:40:57 +02:00
chsc.h s390/cio: Export information about Endpoint-Security Capability 2020-11-16 08:14:37 -07:00
chsc_sch.c s390/cio: remove uevent suppress from cio driver 2021-12-06 14:42:24 +01:00
chsc_sch.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cio.c s390: add struct tpi_info to struct pt_regs 2021-06-07 17:07:01 +02:00
cio.h s390/cio: Use driver_set_override() instead of open-coding 2022-04-22 17:13:54 +02:00
cio_debug.h s390/cio: introduce CIO debugfs directory 2021-03-22 11:36:04 +01:00
cio_debugfs.c s390/cio: introduce CIO debugfs directory 2021-03-22 11:36:04 +01:00
cio_inject.c s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
cio_inject.h s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
cmf.c s390/cmf: get rid of register asm 2021-06-28 11:18:28 +02:00
crw.c s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
css.c s390/cio: Use driver_set_override() instead of open-coding 2022-04-22 17:13:54 +02:00
css.h s390/cio: avoid excessive path-verification requests 2021-09-27 13:54:38 +02:00
device.c s390/cio: verify the driver availability for path_event call 2022-02-09 22:55:01 +01:00
device.h s390/cio: remove pm support from ccw bus driver 2020-12-02 18:19:25 +01:00
device_fsm.c s390: cleanup timer API use 2022-03-27 22:18:39 +02:00
device_id.c s390/cio: fix kernel doc comment 2021-09-07 13:38:42 +02:00
device_ops.c s390/cio: make ccw_device_dma_* more robust 2021-10-26 15:21:30 +02:00
device_pgid.c s390/cio: add basic protected virtualization support 2019-06-15 12:25:00 +02:00
device_status.c s390/cio: add basic protected virtualization support 2019-06-15 12:25:00 +02:00
eadm_sch.c s390: cleanup timer API use 2022-03-27 22:18:39 +02:00
eadm_sch.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fcx.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
idset.c s390/cio: Remove unused inline function idset_sch_get_first 2020-05-20 10:22:49 +02:00
idset.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
io_sch.h s390/cio: remove pm support from ccw bus driver 2020-12-02 18:19:25 +01:00
ioasm.c s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
ioasm.h s390: assume diag308 set always works 2018-04-10 07:38:59 +02:00
isc.c s390: cio: add SPDX identifiers to the remaining files 2017-11-24 14:28:41 +01:00
itcw.c s390/cio: fix kernel-doc usage 2018-02-05 07:34:52 +01:00
Makefile s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
orb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qdio.h s390/qdio: clarify handler logic for qdio_handle_activate_check() 2021-12-06 14:42:25 +01:00
qdio_debug.c s390/qdio: remove remaining tasklet & timer code 2021-07-27 09:39:18 +02:00
qdio_debug.h s390/qdio: cleanly split alloc and establish 2020-04-06 13:13:50 +02:00
qdio_main.c s390/qdio: remove unneeded sanity check in qdio_do_sqbs() 2021-12-06 14:42:26 +01:00
qdio_setup.c s390/qdio: clarify handler logic for qdio_handle_activate_check() 2021-12-06 14:42:25 +01:00
qdio_thinint.c s390/qdio: track time of last data IRQ for each device 2021-02-09 15:57:04 +01:00
scm.c bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
trace.c s390/cio: Remove tracing for rchp instruction 2019-05-08 15:01:22 +02:00
trace.h s390: use struct tpi_info in lowcore.h 2021-06-07 17:07:01 +02:00
vfio_ccw_async.c vfio-ccw: make vfio_ccw_async_region_ops static 2019-07-29 18:05:03 +02:00
vfio_ccw_chp.c vfio-ccw: Fix a build error due to missing include of linux/slab.h 2020-07-03 11:41:31 +02:00
vfio_ccw_cp.c vfio/mdev: Pass in a struct vfio_device * to vfio_pin/unpin_pages() 2022-05-11 13:12:59 -06:00
vfio_ccw_cp.h vfio/ccw: Remove mdev from struct channel_program 2022-05-11 13:12:59 -06:00
vfio_ccw_drv.c vfio/ccw: Do not change FSM state in subchannel event 2022-08-17 15:15:50 +02:00
vfio_ccw_fsm.c vfio/ccw: Remove UUID from s390 debug log 2022-08-17 15:15:50 +02:00
vfio_ccw_ops.c vfio/ccw: Fix FSM state if mdev probe fails 2022-08-17 15:15:50 +02:00
vfio_ccw_private.h vfio/ccw: Convert to use vfio_register_emulated_iommu_dev() 2021-10-28 11:06:31 -06:00
vfio_ccw_trace.c vfio-ccw: Add trace for CRW event 2020-06-03 11:28:19 +02:00
vfio_ccw_trace.h vfio-ccw: Add trace for CRW event 2020-06-03 11:28:19 +02:00