Patch from Nick Piggin <piggin@cyberone.com.au>

Hmm... I found something:
This new version puts us into the next antic_status mode (ANTIC_WAIT_NEXT)
if there is no as_io_context. This gives us a timer. Previously there
would be no way out from ad->as_io_context == NULL && antic_status == 1
AFAIKS.




 drivers/block/as-iosched.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/block/as-iosched.c~as-state-tracking-fix drivers/block/as-iosched.c
--- 25/drivers/block/as-iosched.c~as-state-tracking-fix	2003-03-07 10:12:50.000000000 -0800
+++ 25-akpm/drivers/block/as-iosched.c	2003-03-07 10:12:50.000000000 -0800
@@ -837,7 +837,7 @@ static void as_antic_waitreq(struct as_d
 	if (ad->antic_status == ANTIC_OFF) {
 		ant_stats.anticipate_starts++;
 
-		if (ad->as_io_context && test_bit(AS_REQ_FINISHED,
+		if (!ad->as_io_context || test_bit(AS_REQ_FINISHED,
 						&ad->as_io_context->state))
 			as_antic_waitnext(ad);
 		else

_