]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - block/blk-map.c
x86/asm/64: Open-code register save/restore in trace_hardirqs*() thunks
[karo-tx-linux.git] / block / blk-map.c
index 30e6bb871c5cb12266706113abc485815cb7c809..b8d2725324a6b88391db4c8a5daf7a9c1309dd86 100644 (file)
@@ -88,11 +88,14 @@ int blk_rq_map_user_iov(struct request_queue *q, struct request *rq,
        if (unaligned || (q->dma_pad_mask & iter->count) || map_data)
                bio = bio_copy_user_iov(q, map_data, iter, gfp_mask);
        else
-               bio = bio_map_user_iov(q, NULL, iter, gfp_mask);
+               bio = bio_map_user_iov(q, iter, gfp_mask);
 
        if (IS_ERR(bio))
                return PTR_ERR(bio);
 
+       if (map_data && map_data->null_mapped)
+               bio->bi_flags |= (1 << BIO_NULL_MAPPED);
+
        if (bio->bi_iter.bi_size != iter->count) {
                /*
                 * Grab an extra reference to this bio, as bio_unmap_user()