linux/drivers/s390
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
..
block [S390] struct device - replace bus_id with dev_name(), dev_set_name() 2008-12-25 13:39:03 +01:00
char [S390] vmcp: remove BKL 2008-12-25 13:38:54 +01:00
cio [S390] cio: Fix reference counting for online/offline. 2008-12-25 13:39:07 +01:00
crypto [S390] ap: Minor code beautification. 2008-12-25 13:38:57 +01:00
kvm [S390] kvm_s390: Fix oops in virtio device detection with "mem=" 2008-11-14 18:18:52 +01:00
net [S390] service level interface. 2008-12-25 13:39:00 +01:00
scsi [S390] struct device - replace bus_id with dev_name(), dev_set_name() 2008-12-25 13:39:03 +01:00
ebcdic.c
Makefile s390: KVM guest: virtio device support, and kvm hypercalls 2008-04-27 12:00:51 +03:00
s390_rdev.c [S390] bus_id -> dev_set_name() changes 2008-10-10 21:33:50 +02:00
s390mach.c [S390] stp support. 2008-07-14 10:02:09 +02:00
s390mach.h [S390] stp support. 2008-07-14 10:02:09 +02:00
sysinfo.c [S390] service level interface. 2008-12-25 13:39:00 +01:00