summaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-05-15 11:26:03 -0400
committerJeff Garzik <jeff@garzik.org>2006-05-15 11:26:03 -0400
commit5006ecc2d5073d4e52f54381fd0fee1575d4ce22 (patch)
treebedfff6f96118771b809de30e559cc370f94c7be /drivers/s390/block/dasd.c
parentacc696d93dcf993dec123d69d599979e1456ffec (diff)
parent9be2f7c38e0bd64e8a0f74ea68df1e73e2ddfcc3 (diff)
Merge branch 'master' into upstream
Diffstat (limited to 'drivers/s390/block/dasd.c')
-rw-r--r--drivers/s390/block/dasd.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index a3bfebcf31e..cfb1fff3787 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -315,6 +315,11 @@ dasd_increase_state(struct dasd_device *device)
rc = dasd_state_basic_to_ready(device);
if (!rc &&
+ device->state == DASD_STATE_UNFMT &&
+ device->target > DASD_STATE_UNFMT)
+ rc = -EPERM;
+
+ if (!rc &&
device->state == DASD_STATE_READY &&
device->target >= DASD_STATE_ONLINE)
rc = dasd_state_ready_to_online(device);