diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2006-12-04 09:41:04 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2006-12-04 09:41:04 -0500 |
commit | d23861ff1a4da1f4a5255eb4582f620191c6e1c0 (patch) | |
tree | fcf5cd0ce14600f2ace203bc71ae940db7fe6497 /drivers/s390/cio/device.c | |
parent | 24cb5b4846ebae5543869b5c596c2650f380df53 (diff) |
[S390] cio: Retry internal operations after vary off.
If I/O was running on a just varied off chpid, it will be terminated.
If this was a common I/O layer internal I/O, it needs to be retried.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/device.c')
-rw-r--r-- | drivers/s390/cio/device.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index 39c98f940507..359b46c25314 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c | |||
@@ -948,6 +948,9 @@ io_subchannel_ioterm(struct device *dev) | |||
948 | cdev = dev->driver_data; | 948 | cdev = dev->driver_data; |
949 | if (!cdev) | 949 | if (!cdev) |
950 | return; | 950 | return; |
951 | /* Internal I/O will be retried by the interrupt handler. */ | ||
952 | if (cdev->private->flags.intretry) | ||
953 | return; | ||
951 | cdev->private->state = DEV_STATE_CLEAR_VERIFY; | 954 | cdev->private->state = DEV_STATE_CLEAR_VERIFY; |
952 | if (cdev->handler) | 955 | if (cdev->handler) |
953 | cdev->handler(cdev, cdev->private->intparm, | 956 | cdev->handler(cdev, cdev->private->intparm, |