 block/deadline-iosched.c |    7 +++++++
 1 files changed, 7 insertions(+)

diff -puN drivers/block/deadline-iosched.c~deadline-hash-fix drivers/block/deadline-iosched.c
--- 25/drivers/block/deadline-iosched.c~deadline-hash-fix	2003-02-09 19:36:12.000000000 -0800
+++ 25-akpm/drivers/block/deadline-iosched.c	2003-02-09 19:36:12.000000000 -0800
@@ -469,6 +469,13 @@ deadline_merged_requests(request_queue_t
 static inline void
 deadline_move_to_dispatch(struct deadline_data *dd, struct deadline_rq *drq)
 {
+	struct request *rq = drq->request;
+	struct request_queue *q = rq->q;
+	
+	if (&rq->queuelist == q->last_merge)
+		q->last_merge = NULL;	/* Invalidate last_merge cache */
+
+	deadline_del_drq_hash(drq);
 	deadline_del_drq_rb(dd, drq);
 	list_del_init(&drq->fifo);
 	list_add_tail(&drq->request->queuelist, dd->dispatch);

_
