[S390] dasd: wait for terminated request
After terminating a request in the dasd_sleep_on_immediatly function, wait for the clear interrupt to be received before starting the new request. This prevents the requests from getting mixed up. Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
3948a10250
commit
214b8ffc20
|
@ -2261,7 +2261,11 @@ int dasd_sleep_on_immediatly(struct dasd_ccw_req *cqr)
|
||||||
cqr->callback = dasd_wakeup_cb;
|
cqr->callback = dasd_wakeup_cb;
|
||||||
cqr->callback_data = DASD_SLEEPON_START_TAG;
|
cqr->callback_data = DASD_SLEEPON_START_TAG;
|
||||||
cqr->status = DASD_CQR_QUEUED;
|
cqr->status = DASD_CQR_QUEUED;
|
||||||
list_add(&cqr->devlist, &device->ccw_queue);
|
/*
|
||||||
|
* add new request as second
|
||||||
|
* first the terminated cqr needs to be finished
|
||||||
|
*/
|
||||||
|
list_add(&cqr->devlist, device->ccw_queue.next);
|
||||||
|
|
||||||
/* let the bh start the request to keep them in order */
|
/* let the bh start the request to keep them in order */
|
||||||
dasd_schedule_device_bh(device);
|
dasd_schedule_device_bh(device);
|
||||||
|
|
Loading…
Reference in New Issue