diff options
author | Heinz Graalfs <graalfs@linux.vnet.ibm.com> | 2014-03-05 15:23:54 +0100 |
---|---|---|
committer | Cornelia Huck <cornelia.huck@de.ibm.com> | 2014-03-06 10:22:40 +0100 |
commit | 79629b208fc0484ee448c4acfa3762f0350e97ce (patch) | |
tree | c9a706ec6d539aad6f1aacd4201577ddcc2a8d24 /sound | |
parent | 96b14536d935848cffd904f583f67c66169002d8 (diff) |
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>
Diffstat (limited to 'sound')
0 files changed, 0 insertions, 0 deletions