OpenCloudOS-Kernel/drivers/s390/kvm
Heinz Graalfs 79629b208f virtio_ccw: fix hang in set offline processing
During set offline processing virtio_grab_drvdata() incorrectly
calls dev_set_drvdata() to remove the virtio_ccw_device from the
parent ccw_device's driver data. This is wrong and ends up in a
hang during virtio_ccw_reset(), as the interrupt handler still
has need of the virtio_ccw_device.

A new field 'going_away' is introduced in struct virtio_ccw_device
to control the usage of the ccw_device's driver data pointer in
virtio_grab_drvdata().

Signed-off-by: Heinz Graalfs <graalfs@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2014-03-06 10:22:40 +01:00
..
Makefile KVM: s390: Add a channel I/O based virtio transport driver. 2012-12-18 14:37:13 +02:00
kvm_virtio.c virtio_ring: change host notification API 2013-10-29 11:28:11 +10:30
virtio_ccw.c virtio_ccw: fix hang in set offline processing 2014-03-06 10:22:40 +01:00