|
@@ -96,6 +96,9 @@ ccw_device_sense_pgid_start(struct ccw_device *cdev)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
+ /* Set a timeout of 60s */
|
|
|
+ ccw_device_set_timeout(cdev, 60*HZ);
|
|
|
+
|
|
|
cdev->private->state = DEV_STATE_SENSE_PGID;
|
|
|
cdev->private->imask = 0x80;
|
|
|
cdev->private->iretry = 5;
|
|
@@ -480,6 +483,8 @@ ccw_device_verify_start(struct ccw_device *cdev)
|
|
|
ccw_device_verify_done(cdev, -ENODEV);
|
|
|
return;
|
|
|
}
|
|
|
+ /* After 60s path verification is considered to have failed. */
|
|
|
+ ccw_device_set_timeout(cdev, 60*HZ);
|
|
|
__ccw_device_verify_start(cdev);
|
|
|
}
|
|
|
|
|
@@ -554,6 +559,9 @@ ccw_device_disband_irq(struct ccw_device *cdev, enum dev_event dev_event)
|
|
|
void
|
|
|
ccw_device_disband_start(struct ccw_device *cdev)
|
|
|
{
|
|
|
+ /* After 60s disbanding is considered to have failed. */
|
|
|
+ ccw_device_set_timeout(cdev, 60*HZ);
|
|
|
+
|
|
|
cdev->private->flags.pgid_single = 0;
|
|
|
cdev->private->iretry = 5;
|
|
|
cdev->private->imask = 0x80;
|