diff options
Diffstat (limited to 'drivers/s390/cio/device_pgid.c')
-rw-r--r-- | drivers/s390/cio/device_pgid.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/s390/cio/device_pgid.c b/drivers/s390/cio/device_pgid.c index 8ca2d078848c..84917b39de45 100644 --- a/drivers/s390/cio/device_pgid.c +++ b/drivers/s390/cio/device_pgid.c | |||
@@ -96,6 +96,9 @@ ccw_device_sense_pgid_start(struct ccw_device *cdev) | |||
96 | { | 96 | { |
97 | int ret; | 97 | int ret; |
98 | 98 | ||
99 | /* Set a timeout of 60s */ | ||
100 | ccw_device_set_timeout(cdev, 60*HZ); | ||
101 | |||
99 | cdev->private->state = DEV_STATE_SENSE_PGID; | 102 | cdev->private->state = DEV_STATE_SENSE_PGID; |
100 | cdev->private->imask = 0x80; | 103 | cdev->private->imask = 0x80; |
101 | cdev->private->iretry = 5; | 104 | cdev->private->iretry = 5; |
@@ -480,6 +483,8 @@ ccw_device_verify_start(struct ccw_device *cdev) | |||
480 | ccw_device_verify_done(cdev, -ENODEV); | 483 | ccw_device_verify_done(cdev, -ENODEV); |
481 | return; | 484 | return; |
482 | } | 485 | } |
486 | /* After 60s path verification is considered to have failed. */ | ||
487 | ccw_device_set_timeout(cdev, 60*HZ); | ||
483 | __ccw_device_verify_start(cdev); | 488 | __ccw_device_verify_start(cdev); |
484 | } | 489 | } |
485 | 490 | ||
@@ -554,6 +559,9 @@ ccw_device_disband_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
554 | void | 559 | void |
555 | ccw_device_disband_start(struct ccw_device *cdev) | 560 | ccw_device_disband_start(struct ccw_device *cdev) |
556 | { | 561 | { |
562 | /* After 60s disbanding is considered to have failed. */ | ||
563 | ccw_device_set_timeout(cdev, 60*HZ); | ||
564 | |||
557 | cdev->private->flags.pgid_single = 0; | 565 | cdev->private->flags.pgid_single = 0; |
558 | cdev->private->iretry = 5; | 566 | cdev->private->iretry = 5; |
559 | cdev->private->imask = 0x80; | 567 | cdev->private->imask = 0x80; |