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

If there are no requess in flight against the target device and
get_request() fails, nothing will wake us up.  Fix.



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

diff -puN drivers/block/ll_rw_blk.c~get_request_wait-oom-fix drivers/block/ll_rw_blk.c
--- 25/drivers/block/ll_rw_blk.c~get_request_wait-oom-fix	2003-06-15 01:56:46.000000000 -0700
+++ 25-akpm/drivers/block/ll_rw_blk.c	2003-06-15 01:56:46.000000000 -0700
@@ -1391,7 +1391,7 @@ static struct request *get_request_wait(
 			 * no wakeup will be delivered.  So now we're on the
 			 * waitqueue, go check for that.
 			 */
-			rq = get_request(q, rw, GFP_ATOMIC & ~__GFP_HIGH);
+			rq = get_request(q, rw, GFP_NOIO);
 			if (!rq)
 				io_schedule();
 			finish_wait(&rl->wait[rw], &wait);

_