]> Pileus Git - ~andy/linux/blobdiff - drivers/s390/cio/device_fsm.c
[S390] permanent subchannel busy conditions may cause I/O stall
[~andy/linux] / drivers / s390 / cio / device_fsm.c
index ac6e0c7e43d9587805e820e8d2e6eb633989d58d..7a39e0b0386c63851d82147b7b47d907b82d2c11 100644 (file)
@@ -152,7 +152,8 @@ ccw_device_cancel_halt_clear(struct ccw_device *cdev)
                if (cdev->private->iretry) {
                        cdev->private->iretry--;
                        ret = cio_halt(sch);
-                       return (ret == 0) ? -EBUSY : ret;
+                       if (ret != -EBUSY)
+                               return (ret == 0) ? -EBUSY : ret;
                }
                /* halt io unsuccessful. */
                cdev->private->iretry = 255;    /* 255 clear retries. */