diff options
author | Stefan Haberland <stefan.haberland@de.ibm.com> | 2008-01-26 08:11:26 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-01-26 08:11:30 -0500 |
commit | 7dc1da9ffae5a344f7115d019e2be069d3e1bb8d (patch) | |
tree | 26cdd74ba0bb65421346af5ee4e2db0ef4fd3a73 /drivers/s390 | |
parent | 028fed8233b669e03def295a4e632b1b933720f9 (diff) |
[S390] dasd: fix loop in request expiration handling
Add time to the 'expires' value to avoid a loop caused by the cqr
termination function
Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/block/dasd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index db9193d38986..99268b964f67 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c | |||
@@ -1197,12 +1197,13 @@ static void __dasd_device_check_expire(struct dasd_device *device) | |||
1197 | (time_after_eq(jiffies, cqr->expires + cqr->starttime))) { | 1197 | (time_after_eq(jiffies, cqr->expires + cqr->starttime))) { |
1198 | if (device->discipline->term_IO(cqr) != 0) { | 1198 | if (device->discipline->term_IO(cqr) != 0) { |
1199 | /* Hmpf, try again in 5 sec */ | 1199 | /* Hmpf, try again in 5 sec */ |
1200 | dasd_device_set_timer(device, 5*HZ); | ||
1201 | DEV_MESSAGE(KERN_ERR, device, | 1200 | DEV_MESSAGE(KERN_ERR, device, |
1202 | "internal error - timeout (%is) expired " | 1201 | "internal error - timeout (%is) expired " |
1203 | "for cqr %p, termination failed, " | 1202 | "for cqr %p, termination failed, " |
1204 | "retrying in 5s", | 1203 | "retrying in 5s", |
1205 | (cqr->expires/HZ), cqr); | 1204 | (cqr->expires/HZ), cqr); |
1205 | cqr->expires += 5*HZ; | ||
1206 | dasd_device_set_timer(device, 5*HZ); | ||
1206 | } else { | 1207 | } else { |
1207 | DEV_MESSAGE(KERN_ERR, device, | 1208 | DEV_MESSAGE(KERN_ERR, device, |
1208 | "internal error - timeout (%is) expired " | 1209 | "internal error - timeout (%is) expired " |