summary refs log tree commit diff
path: root/block
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-07-26 19:20:34 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2019-07-26 19:20:34 -0700
commit5168afe6ef596eaf2ff7a533b780c79ce14445e4 (patch)
treea473fae3e61e99599e5da1deae868dda518ebdc5 /block
parent40233e7c447367ffc615b524187970732848d5e3 (diff)
parentc6c84f78e2f77be37b9a150ed33be992198741f0 (diff)
downloadlinux-5168afe6ef596eaf2ff7a533b780c79ce14445e4.tar.gz
Merge tag 'for-linus-20190726-2' of git://git.kernel.dk/linux-block
Pull block DMA segment fix from Jens Axboe:
 "Here's the virtual boundary segment size fix"

* tag 'for-linus-20190726-2' of git://git.kernel.dk/linux-block:
  block: fix max segment size handling in blk_queue_virt_boundary
Diffstat (limited to 'block')
-rw-r--r--block/blk-settings.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/block/blk-settings.c b/block/blk-settings.c
index 2ae348c101a0..2c1831207a8f 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -752,7 +752,8 @@ void blk_queue_virt_boundary(struct request_queue *q, unsigned long mask)
 	 * page (which might not be idential to the Linux PAGE_SIZE).  Because
 	 * of that they are not limited by our notion of "segment size".
 	 */
-	q->limits.max_segment_size = UINT_MAX;
+	if (mask)
+		q->limits.max_segment_size = UINT_MAX;
 }
 EXPORT_SYMBOL(blk_queue_virt_boundary);