linux/drivers/s390/cio
Vineeth Vijayan 9daa5a8795 s390/cio: Update purge function to unregister the unused subchannels
Starting with 'commit 2297791c92 ("s390/cio: dont unregister
subchannel from child-drivers")', cio no longer unregisters
subchannels when the attached device is invalid or unavailable.

As an unintended side-effect, the cio_ignore purge function no longer
removes subchannels for devices on the cio_ignore list if no CCW device
is attached. This situation occurs when a CCW device is non-operational
or unavailable

To ensure the same outcome of the purge function as when the
current cio_ignore list had been active during boot, update the purge
function to remove I/O subchannels without working CCW devices if the
associated device number is found on the cio_ignore list.

Fixes: 2297791c92 ("s390/cio: dont unregister subchannel from child-drivers")
Suggested-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Vineeth Vijayan <vneethv@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2025-10-04 18:40:42 +02:00
..
Makefile
airq.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
blacklist.c
blacklist.h
ccwgroup.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
ccwreq.c
chp.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
chp.h s390/cio: Externalize full CMG characteristics 2024-11-13 14:31:31 +01:00
chsc.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
chsc.h s390/cio: Externalize full CMG characteristics 2024-11-13 14:31:31 +01:00
chsc_sch.c
chsc_sch.h
cio.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
cio.h
cio_debug.h
cio_debugfs.c
cio_inject.c
cio_inject.h
cmf.c s390: Remove superfluous newlines from inline assemblies 2025-09-29 13:52:08 +02:00
crw.c s390/cio: Remove outdated email address 2025-02-18 18:53:47 +01:00
css.c s390/cio/css: Switch over to sysfs_emit() 2024-10-25 16:03:25 +02:00
css.h
device.c s390/cio: Update purge function to unregister the unused subchannels 2025-10-04 18:40:42 +02:00
device.h
device_fsm.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
device_id.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
device_ops.c s390/cio: Use array indices instead of pointer arithmetic 2025-01-03 11:00:53 +01:00
device_pgid.c
device_status.c
eadm_sch.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
eadm_sch.h
fcx.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
idset.c
idset.h
io_sch.h
ioasm.c s390/cio/ioasm: Fix __xsch() condition code handling 2025-09-29 13:52:08 +02:00
ioasm.h
isc.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
itcw.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
orb.h
qdio.h s390/qdio: Move memory alloc/pointer arithmetic for slib and sl into one place 2025-01-03 11:00:53 +01:00
qdio_debug.c s390/drivers: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:03 +02:00
qdio_debug.h
qdio_main.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
qdio_setup.c s390/qdio: Move memory alloc/pointer arithmetic for slib and sl into one place 2025-01-03 11:00:53 +01:00
qdio_thinint.c
scm.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
trace.c
trace.h
vfio_ccw_async.c
vfio_ccw_chp.c
vfio_ccw_cp.c
vfio_ccw_cp.h
vfio_ccw_drv.c s390/vfio-ccw: Make mdev_types not look like a fake flex array 2025-02-18 18:53:47 +01:00
vfio_ccw_fsm.c
vfio_ccw_ops.c
vfio_ccw_private.h s390/vfio-ccw: Make mdev_types not look like a fake flex array 2025-02-18 18:53:47 +01:00
vfio_ccw_trace.c
vfio_ccw_trace.h