kernel-fxtec-pro1x/drivers/s390/cio
Cornelia Huck 9cd6742197 [S390] cio: Fix reference counting for online/offline.
The current code attempts to get an extra reference count
for online devices by doing a get_device() in ccw_device_online()
and a put_device() in ccw_device_done(). However, this
- incorrectly obtains an extra reference for disconnected
  devices becoming available again (since they are already
  online)
- needs special checks for css_init_done in order to handle
  the console device
- is not obvious and
- may incorretly drop a reference count in ccw_device_done() if
  that function is called after path verification for a device
  that just became not operational.

So let's just get the reference in ccw_device_set_online() and
drop it in ccw_device_set_offline(). (Unfortunately, we still
need the special case in io_subchannel_probe().)

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2008-12-25 13:39:07 +01:00
..
airq.c [S390] cio: Allow adapter interrupt handlers per isc. 2008-07-14 10:02:10 +02:00
blacklist.c [S390] cio: introduce purge function for /proc/cio_ignore 2008-10-10 21:33:47 +02:00
blacklist.h
ccwgroup.c [S390] cio: fix ccwgroup online vs. ungroup race condition 2008-12-25 13:39:06 +01:00
chp.c [S390] bus_id -> dev_set_name() changes 2008-10-10 21:33:50 +02:00
chp.h [S390] cio: Repair chpid event handling. 2008-07-14 10:02:11 +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
chsc_sch.c [S390] cio: Correct use of ! and & 2008-10-10 21:33:54 +02:00
chsc_sch.h [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
cio.c [S390] cio: get rid of compile warning 2008-12-25 13:39:05 +01:00
cio.h [S390] bus_id -> dev_set_name() for css and ccw busses 2008-10-10 21:33:53 +02:00
cio_debug.h [S390] cio: Remove cio_msg kernel parameter. 2008-05-07 09:23:01 +02:00
cmf.c [S390] Cleanup cio printk messages. 2008-07-14 10:02:18 +02:00
css.c [S390] bus_id -> dev_set_name() changes 2008-10-10 21:33:50 +02:00
css.h [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
device.c [S390] cio: Fix reference counting for online/offline. 2008-12-25 13:39:07 +01:00
device.h [S390] cio: introduce purge function for /proc/cio_ignore 2008-10-10 21:33:47 +02:00
device_fsm.c [S390] cio: Fix reference counting for online/offline. 2008-12-25 13:39:07 +01: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] bus_id -> dev_name conversions 2008-10-10 21:33:49 +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
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: inline assembly cleanup 2008-10-10 21:33:53 +02:00
ioasm.h [S390] cio: inline assembly cleanup 2008-10-10 21:33:53 +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.h [S390] qdio: fix error reporting for hipersockets 2008-12-25 13:39:00 +01:00
qdio_debug.c [S390] qdio: improve inbound buffer acknowledgement 2008-12-25 13:38:59 +01:00
qdio_debug.h [S390] qdio: rework debug feature logging 2008-12-25 13:38:59 +01:00
qdio_main.c [S390] qdio: fix error reporting for hipersockets 2008-12-25 13:39:00 +01:00
qdio_perf.c [S390] qdio: improve inbound buffer acknowledgement 2008-12-25 13:38:59 +01:00
qdio_perf.h [S390] qdio: improve inbound buffer acknowledgement 2008-12-25 13:38:59 +01:00
qdio_setup.c [S390] qdio: fix error reporting for hipersockets 2008-12-25 13:39:00 +01:00
qdio_thinint.c [S390] qdio: improve inbound buffer acknowledgement 2008-12-25 13:38:59 +01:00
scsw.c [S390] cio: introduce fcx enabled scsw format 2008-07-14 10:02:07 +02:00