kernel-ark/drivers/s390/cio
Peter Oberparleiter 91c36919a4 [S390] cio: call ccw driver notify function with lock held
Calling a ccw driver's notify function without the ccw device lock
held opens up a race window between discovery and handling of a change
in the device operational state. As a result, the device driver may
encounter unexpected device malfunction, leading to out-of-retry
situations or similar.

Remove race by extending the ccw device lock from state change
discovery to the calling of the notify function.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2008-08-21 19:46:41 +02:00
..
airq.c [S390] cio: Allow adapter interrupt handlers per isc. 2008-07-14 10:02:10 +02:00
blacklist.c [S390] cio: Fix sparse warnings in blacklist.c. 2008-06-10 10:03:26 +02:00
blacklist.h
ccwgroup.c [S390] cio: fix ccw group device cleanup 2008-08-21 19:46:40 +02:00
chp.c [S390] Cleanup cio printk messages. 2008-07-14 10:02:18 +02:00
chp.h [S390] cio: Repair chpid event handling. 2008-07-14 10:02:11 +02:00
chsc_sch.c [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
chsc_sch.h [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
chsc.c [S390] cio: Export chsc_error_from_response(). 2008-07-17 17:22:10 +02:00
chsc.h [S390] cio: Export chsc_error_from_response(). 2008-07-17 17:22:10 +02:00
cio_debug.h [S390] cio: Remove cio_msg kernel parameter. 2008-05-07 09:23:01 +02:00
cio.c [S390] Cleanup cio printk messages. 2008-07-14 10:02:18 +02:00
cio.h [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
cmf.c [S390] Cleanup cio printk messages. 2008-07-14 10:02:18 +02:00
css.c [S390] cio: call ccw driver notify function with lock held 2008-08-21 19:46:41 +02:00
css.h [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
device_fsm.c [S390] cio: call ccw driver notify function with lock held 2008-08-21 19:46:41 +02:00
device_id.c [S390] cio: provide functions for fcx enabled I/O 2008-07-14 10:02:08 +02:00
device_ops.c [S390] cio: provide functions for fcx enabled I/O 2008-07-14 10:02:08 +02:00
device_pgid.c [S390] cio: provide functions for fcx enabled I/O 2008-07-14 10:02:08 +02:00
device_status.c [S390] cio: introduce fcx enabled scsw format 2008-07-14 10:02:07 +02:00
device.c [S390] cio: call ccw driver notify function with lock held 2008-08-21 19:46:41 +02:00
device.h [S390] cio: call ccw driver notify function with lock held 2008-08-21 19:46:41 +02:00
fcx.c [S390] cio: provide functions for fcx enabled I/O 2008-07-14 10:02:08 +02:00
idset.c [S390] cio: Memory allocation for idset changed. 2008-08-01 16:39:31 +02:00
idset.h [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
io_sch.h [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
ioasm.h [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
isc.c [S390] cio: introduce isc_(un)register functions. 2008-07-14 10:02:11 +02:00
itcw.c [S390] cio: provide helper functions for fcx enabled I/O 2008-07-14 10:02:08 +02:00
Makefile [S390] qdio: new qdio driver. 2008-07-17 17:22:10 +02:00
qdio_debug.c [S390] qdio: new qdio driver. 2008-07-17 17:22:10 +02:00
qdio_debug.h [S390] qdio: improve s390 debug feature usage 2008-08-21 19:46:40 +02:00
qdio_main.c [S390] qdio: remove the module_get & module_put pair 2008-08-21 19:46:40 +02:00
qdio_perf.c [S390] qdio: fix section mismatch bug. 2008-08-01 16:39:35 +02:00
qdio_perf.h [S390] qdio: new qdio driver. 2008-07-17 17:22:10 +02:00
qdio_setup.c [S390] qdio: improve s390 debug feature usage 2008-08-21 19:46:40 +02:00
qdio_thinint.c [S390] qdio: prevent oopsing if qdio_establish fails 2008-08-21 19:46:39 +02:00
qdio.h [S390] qdio: new qdio driver. 2008-07-17 17:22:10 +02:00
scsw.c [S390] cio: introduce fcx enabled scsw format 2008-07-14 10:02:07 +02:00