diff options
Diffstat (limited to 'drivers/s390/block/dasd_diag.c')
| -rw-r--r-- | drivers/s390/block/dasd_diag.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/s390/block/dasd_diag.c b/drivers/s390/block/dasd_diag.c index 6e14863f5c70..687f323cdc38 100644 --- a/drivers/s390/block/dasd_diag.c +++ b/drivers/s390/block/dasd_diag.c | |||
| @@ -145,12 +145,10 @@ dasd_diag_erp(struct dasd_device *device) | |||
| 145 | mdsk_term_io(device); | 145 | mdsk_term_io(device); |
| 146 | rc = mdsk_init_io(device, device->block->bp_block, 0, NULL); | 146 | rc = mdsk_init_io(device, device->block->bp_block, 0, NULL); |
| 147 | if (rc == 4) { | 147 | if (rc == 4) { |
| 148 | if (!(device->features & DASD_FEATURE_READONLY)) { | 148 | if (!(test_and_set_bit(DASD_FLAG_DEVICE_RO, &device->flags))) |
| 149 | pr_warning("%s: The access mode of a DIAG device " | 149 | pr_warning("%s: The access mode of a DIAG device " |
| 150 | "changed to read-only\n", | 150 | "changed to read-only\n", |
| 151 | dev_name(&device->cdev->dev)); | 151 | dev_name(&device->cdev->dev)); |
| 152 | device->features |= DASD_FEATURE_READONLY; | ||
| 153 | } | ||
| 154 | rc = 0; | 152 | rc = 0; |
| 155 | } | 153 | } |
| 156 | if (rc) | 154 | if (rc) |
| @@ -449,7 +447,7 @@ dasd_diag_check_device(struct dasd_device *device) | |||
| 449 | rc = -EIO; | 447 | rc = -EIO; |
| 450 | } else { | 448 | } else { |
| 451 | if (rc == 4) | 449 | if (rc == 4) |
| 452 | device->features |= DASD_FEATURE_READONLY; | 450 | set_bit(DASD_FLAG_DEVICE_RO, &device->flags); |
| 453 | pr_info("%s: New DASD with %ld byte/block, total size %ld " | 451 | pr_info("%s: New DASD with %ld byte/block, total size %ld " |
| 454 | "KB%s\n", dev_name(&device->cdev->dev), | 452 | "KB%s\n", dev_name(&device->cdev->dev), |
| 455 | (unsigned long) block->bp_block, | 453 | (unsigned long) block->bp_block, |
