* Bugreports.to..: <Linux390@de.ibm.com>
* (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999-2001
*
- * $Revision: 1.149 $
+ * $Revision: 1.151 $
*/
#include <linux/config.h>
int status;
req = (struct request *) data;
- device = cqr->device;
+ device = cqr->device;
dasd_profile_end(device, cqr, req);
status = cqr->device->discipline->free_cp(cqr,req);
spin_lock_irq(&device->request_queue_lock);
device->request_queue->queuedata = device;
#if 0
- elevator_exit(device->request_queue);
- rc = elevator_init(device->request_queue, &elevator_noop);
+ elevator_exit(device->request_queue->elevator);
+ rc = elevator_init(device->request_queue, "noop");
if (rc) {
blk_cleanup_queue(device->request_queue);
return rc;
dasd_schedule_bh(device);
} else {
list_for_each_entry(cqr, &device->ccw_queue, list)
- if (cqr->status == DASD_CQR_IN_IO)
+ if (cqr->status == DASD_CQR_IN_IO) {
cqr->status = DASD_CQR_QUEUED;
+ cqr->retries++;
+ }
device->stopped |= DASD_STOPPED_DC_WAIT;
dasd_set_timer(device, 0);
}