From: Nick Piggin <piggin@cyberone.com.au>

This fixes all known bugs with as in mm2.  That constitutes small fixes for
2 WARNs getting triggered.  It looks like Prakash's lost interrupt problem
was due to as spewing bazillions of warnings, and he must have had his
kernel.printk configured not to show them or something.  I have to just get
final confirmation from him that this final cut of the patch fixes his
problem too.



 drivers/block/as-iosched.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff -puN drivers/block/as-iosched.c~as-fix-all-known-bugs drivers/block/as-iosched.c
--- 25/drivers/block/as-iosched.c~as-fix-all-known-bugs	2003-11-07 20:36:21.000000000 -0800
+++ 25-akpm/drivers/block/as-iosched.c	2003-11-07 20:36:21.000000000 -0800
@@ -915,7 +915,7 @@ static void as_completed_request(request
 	}
 
 	if (!blk_fs_request(rq))
-		return;
+		goto out;
 
 	if (ad->changed_batch && ad->nr_dispatched == 1) {
 		kblockd_schedule_work(&ad->antic_work);
@@ -1458,8 +1458,10 @@ as_insert_request(request_queue_t *q, st
 
 	/* barriers must flush the reorder queue */
 	if (unlikely(rq->flags & (REQ_SOFTBARRIER | REQ_HARDBARRIER)
-			&& where == ELEVATOR_INSERT_SORT))
+			&& where == ELEVATOR_INSERT_SORT)) {
+		WARN_ON(1);
 		where = ELEVATOR_INSERT_BACK;
+	}
 
 	switch (where) {
 		case ELEVATOR_INSERT_BACK:

_