|
@@ -1787,11 +1787,11 @@ static void __dasd_device_process_ccw_queue(struct dasd_device *device,
|
|
|
list_for_each_safe(l, n, &device->ccw_queue) {
|
|
|
cqr = list_entry(l, struct dasd_ccw_req, devlist);
|
|
|
|
|
|
- /* Stop list processing at the first non-final request. */
|
|
|
+ /* Skip any non-final request. */
|
|
|
if (cqr->status == DASD_CQR_QUEUED ||
|
|
|
cqr->status == DASD_CQR_IN_IO ||
|
|
|
cqr->status == DASD_CQR_CLEAR_PENDING)
|
|
|
- break;
|
|
|
+ continue;
|
|
|
if (cqr->status == DASD_CQR_ERROR) {
|
|
|
__dasd_device_recovery(device, cqr);
|
|
|
}
|