From: Andrew Morton Fix locking screwup. Is the patch still worthwhile? Signed-off-by: Andrew Morton --- drivers/block/ll_rw_blk.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN drivers/block/ll_rw_blk.c~blk-reduce-locking-fixes drivers/block/ll_rw_blk.c --- 25/drivers/block/ll_rw_blk.c~blk-reduce-locking-fixes 2005-05-03 23:54:23.000000000 -0700 +++ 25-akpm/drivers/block/ll_rw_blk.c 2005-05-03 23:54:26.000000000 -0700 @@ -2009,9 +2009,10 @@ struct request *blk_get_request(request_ BUG_ON(rw != READ && rw != WRITE); - if (gfp_mask & __GFP_WAIT) + spin_lock_irq(q->queue_lock); + if (gfp_mask & __GFP_WAIT) { rq = get_request_wait(q, rw, NULL); - else { + } else { rq = get_request(q, rw, NULL, gfp_mask); if (!rq) spin_unlock_irq(q->queue_lock); @@ -2020,7 +2021,6 @@ struct request *blk_get_request(request_ return rq; } - EXPORT_SYMBOL(blk_get_request); /** _