diff options
Diffstat (limited to 'block')
-rw-r--r-- | block/ll_rw_blk.c | 9 |
1 files changed, 0 insertions, 9 deletions
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, | |||
2359 | */ | 2359 | */ |
2360 | bio_get(bio); | 2360 | bio_get(bio); |
2361 | 2361 | ||
2362 | /* | ||
2363 | * for most (all? don't know of any) queues we could | ||
2364 | * skip grabbing the queue lock here. only drivers with | ||
2365 | * funky private ->back_merge_fn() function could be | ||
2366 | * problematic. | ||
2367 | */ | ||
2368 | spin_lock_irq(q->queue_lock); | ||
2369 | if (!rq->bio) | 2362 | if (!rq->bio) |
2370 | blk_rq_bio_prep(q, rq, bio); | 2363 | blk_rq_bio_prep(q, rq, bio); |
2371 | else if (!ll_back_merge_fn(q, rq, bio)) { | 2364 | else if (!ll_back_merge_fn(q, rq, bio)) { |
2372 | ret = -EINVAL; | 2365 | ret = -EINVAL; |
2373 | spin_unlock_irq(q->queue_lock); | ||
2374 | goto unmap_bio; | 2366 | goto unmap_bio; |
2375 | } else { | 2367 | } else { |
2376 | rq->biotail->bi_next = bio; | 2368 | rq->biotail->bi_next = bio; |
@@ -2378,7 +2370,6 @@ static int __blk_rq_map_user(request_queue_t *q, struct request *rq, | |||
2378 | 2370 | ||
2379 | rq->data_len += bio->bi_size; | 2371 | rq->data_len += bio->bi_size; |
2380 | } | 2372 | } |
2381 | spin_unlock_irq(q->queue_lock); | ||
2382 | 2373 | ||
2383 | return bio->bi_size; | 2374 | return bio->bi_size; |
2384 | 2375 | ||