diff options
| -rw-r--r-- | drivers/s390/block/dasd_eckd.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index 33f26bfa62f2..6999fd919e94 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c | |||
| @@ -1573,7 +1573,10 @@ static void dasd_eckd_do_validate_server(struct work_struct *work) | |||
| 1573 | { | 1573 | { |
| 1574 | struct dasd_device *device = container_of(work, struct dasd_device, | 1574 | struct dasd_device *device = container_of(work, struct dasd_device, |
| 1575 | kick_validate); | 1575 | kick_validate); |
| 1576 | if (dasd_eckd_validate_server(device, DASD_CQR_FLAGS_FAILFAST) | 1576 | unsigned long flags = 0; |
| 1577 | |||
| 1578 | set_bit(DASD_CQR_FLAGS_FAILFAST, &flags); | ||
| 1579 | if (dasd_eckd_validate_server(device, flags) | ||
| 1577 | == -EAGAIN) { | 1580 | == -EAGAIN) { |
| 1578 | /* schedule worker again if failed */ | 1581 | /* schedule worker again if failed */ |
| 1579 | schedule_work(&device->kick_validate); | 1582 | schedule_work(&device->kick_validate); |
| @@ -4157,6 +4160,7 @@ static int dasd_eckd_restore_device(struct dasd_device *device) | |||
| 4157 | int rc; | 4160 | int rc; |
| 4158 | struct dasd_uid temp_uid; | 4161 | struct dasd_uid temp_uid; |
| 4159 | unsigned long flags; | 4162 | unsigned long flags; |
| 4163 | unsigned long cqr_flags = 0; | ||
| 4160 | 4164 | ||
| 4161 | private = (struct dasd_eckd_private *) device->private; | 4165 | private = (struct dasd_eckd_private *) device->private; |
| 4162 | 4166 | ||
| @@ -4178,7 +4182,9 @@ static int dasd_eckd_restore_device(struct dasd_device *device) | |||
| 4178 | rc = dasd_alias_make_device_known_to_lcu(device); | 4182 | rc = dasd_alias_make_device_known_to_lcu(device); |
| 4179 | if (rc) | 4183 | if (rc) |
| 4180 | return rc; | 4184 | return rc; |
| 4181 | dasd_eckd_validate_server(device, DASD_CQR_FLAGS_FAILFAST); | 4185 | |
| 4186 | set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr_flags); | ||
| 4187 | dasd_eckd_validate_server(device, cqr_flags); | ||
| 4182 | 4188 | ||
| 4183 | /* RE-Read Configuration Data */ | 4189 | /* RE-Read Configuration Data */ |
| 4184 | dasd_eckd_read_conf(device); | 4190 | dasd_eckd_read_conf(device); |
