summaryrefslogtreecommitdiff
path: root/drivers/s390/block/dasd.c
diff options
context:
space:
mode:
authorStefan Haberland <stefan.haberland@de.ibm.com>2012-03-11 19:59:37 +0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2012-03-11 19:59:29 +0400
commit25e2cf1c1ac52d5078cf8cc3fd2f2ad084669ddd (patch)
tree17cc628cb917ee6165bbbaa323c501d7653d7ffb /drivers/s390/block/dasd.c
parent35424f636e9b6e79a362162aaac96b12cc8e8f69 (diff)
downloadlinux-25e2cf1c1ac52d5078cf8cc3fd2f2ad084669ddd.tar.xz
[S390] dasd: prevent validate server for offline devices
Calling validate server on devices in offline processing may cause an OOPS in the dasd_sleep_on function. Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Reviewed-by: Stefan Weinhuber <wein@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block/dasd.c')
-rw-r--r--drivers/s390/block/dasd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index 110137e7ec81..f3509120a507 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -640,6 +640,10 @@ void dasd_enable_device(struct dasd_device *device)
dasd_set_target_state(device, DASD_STATE_NEW);
/* Now wait for the devices to come up. */
wait_event(dasd_init_waitq, _wait_for_device(device));
+
+ dasd_reload_device(device);
+ if (device->discipline->kick_validate)
+ device->discipline->kick_validate(device);
}
/*