From: Jens Axboe Date: Tue, 19 Dec 2006 07:34:17 +0000 (+0100) Subject: [PATCH] __blk_rq_map_user() doesn't need to grab the queue_lock X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9c9381f9425ab4d2f9f0458ae9525c18bc832f59;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git [PATCH] __blk_rq_map_user() doesn't need to grab the queue_lock It was for driver private back_merge_fn hooks, but they don't exist anymore. Signed-off-by: Jens Axboe --- diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 433797934bd5..5d472e47c125 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c @@ -2359,18 +2359,10 @@ static int __blk_rq_map_user(request_queue_t *q, struct request *rq, */ bio_get(bio); - /* - * for most (all? don't know of any) queues we could - * skip grabbing the queue lock here. only drivers with - * funky private ->back_merge_fn() function could be - * problematic. - */ - spin_lock_irq(q->queue_lock); if (!rq->bio) blk_rq_bio_prep(q, rq, bio); else if (!ll_back_merge_fn(q, rq, bio)) { ret = -EINVAL; - spin_unlock_irq(q->queue_lock); goto unmap_bio; } else { rq->biotail->bi_next = bio; @@ -2378,7 +2370,6 @@ static int __blk_rq_map_user(request_queue_t *q, struct request *rq, rq->data_len += bio->bi_size; } - spin_unlock_irq(q->queue_lock); return bio->bi_size;