diff options
Diffstat (limited to 'drivers/s390/block/dasd.c')
-rw-r--r-- | drivers/s390/block/dasd.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index 329db997ee66..3679aeca1c1a 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c | |||
@@ -2326,21 +2326,11 @@ retry: | |||
2326 | return -EAGAIN; | 2326 | return -EAGAIN; |
2327 | 2327 | ||
2328 | /* normal recovery for basedev IO */ | 2328 | /* normal recovery for basedev IO */ |
2329 | if (__dasd_sleep_on_erp(cqr)) { | 2329 | if (__dasd_sleep_on_erp(cqr)) |
2330 | /* handle erp first */ | ||
2330 | goto retry; | 2331 | goto retry; |
2331 | /* remember that ERP was needed */ | ||
2332 | rc = 1; | ||
2333 | /* skip processing for active cqr */ | ||
2334 | if (cqr->status != DASD_CQR_TERMINATED && | ||
2335 | cqr->status != DASD_CQR_NEED_ERP) | ||
2336 | break; | ||
2337 | } | ||
2338 | } | 2332 | } |
2339 | 2333 | ||
2340 | /* start ERP requests in upper loop */ | ||
2341 | if (rc) | ||
2342 | goto retry; | ||
2343 | |||
2344 | return 0; | 2334 | return 0; |
2345 | } | 2335 | } |
2346 | 2336 | ||