diff options
Diffstat (limited to 'drivers/s390/block/dasd.c')
-rw-r--r-- | drivers/s390/block/dasd.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index ce2a780a9ea8..65894f05a801 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c | |||
@@ -3289,6 +3289,9 @@ int dasd_generic_pm_freeze(struct ccw_device *cdev) | |||
3289 | if (IS_ERR(device)) | 3289 | if (IS_ERR(device)) |
3290 | return PTR_ERR(device); | 3290 | return PTR_ERR(device); |
3291 | 3291 | ||
3292 | /* mark device as suspended */ | ||
3293 | set_bit(DASD_FLAG_SUSPENDED, &device->flags); | ||
3294 | |||
3292 | if (device->discipline->freeze) | 3295 | if (device->discipline->freeze) |
3293 | rc = device->discipline->freeze(device); | 3296 | rc = device->discipline->freeze(device); |
3294 | 3297 | ||
@@ -3363,6 +3366,7 @@ int dasd_generic_restore_device(struct ccw_device *cdev) | |||
3363 | if (device->block) | 3366 | if (device->block) |
3364 | dasd_schedule_block_bh(device->block); | 3367 | dasd_schedule_block_bh(device->block); |
3365 | 3368 | ||
3369 | clear_bit(DASD_FLAG_SUSPENDED, &device->flags); | ||
3366 | dasd_put_device(device); | 3370 | dasd_put_device(device); |
3367 | return 0; | 3371 | return 0; |
3368 | } | 3372 | } |