mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
[S390] cio: improve unit check handling for internal operations
Retry internal operation after unit check instead of aborting them. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
3230015e15
commit
3bdc9d0b40
@ -288,10 +288,10 @@ ccw_device_wake_up(struct ccw_device *cdev, unsigned long ip, struct irb *irb)
|
|||||||
if (cdev->private->flags.doverify ||
|
if (cdev->private->flags.doverify ||
|
||||||
cdev->private->state == DEV_STATE_VERIFY)
|
cdev->private->state == DEV_STATE_VERIFY)
|
||||||
cdev->private->intparm = -EAGAIN;
|
cdev->private->intparm = -EAGAIN;
|
||||||
if ((irb->scsw.dstat & DEV_STAT_UNIT_CHECK) &&
|
else if ((irb->scsw.dstat & DEV_STAT_UNIT_CHECK) &&
|
||||||
!(irb->ecw[0] &
|
!(irb->ecw[0] &
|
||||||
(SNS0_CMD_REJECT | SNS0_INTERVENTION_REQ)))
|
(SNS0_CMD_REJECT | SNS0_INTERVENTION_REQ)))
|
||||||
cdev->private->intparm = -EAGAIN;
|
cdev->private->intparm = -EAGAIN;
|
||||||
else if ((irb->scsw.dstat & DEV_STAT_ATTENTION) &&
|
else if ((irb->scsw.dstat & DEV_STAT_ATTENTION) &&
|
||||||
(irb->scsw.dstat & DEV_STAT_DEV_END) &&
|
(irb->scsw.dstat & DEV_STAT_DEV_END) &&
|
||||||
(irb->scsw.dstat & DEV_STAT_UNIT_EXCEP))
|
(irb->scsw.dstat & DEV_STAT_UNIT_EXCEP))
|
||||||
|
Loading…
Reference in New Issue
Block a user