]> Git Repo - J-linux.git/commitdiff
swiotlb: don't override user specified size in swiotlb_adjust_size
authorChristoph Hellwig <[email protected]>
Thu, 29 Apr 2021 06:28:59 +0000 (08:28 +0200)
committerKonrad Rzeszutek Wilk <[email protected]>
Thu, 29 Apr 2021 18:46:06 +0000 (18:46 +0000)
If the user already specified a swiotlb size on the command line,
swiotlb_adjust_size should not overwrite it.

Fixes: 2cbc2776efe4 ("swiotlb: remove swiotlb_nr_tbl")
Reported-by: Tom Lendacky <[email protected]>
Tested-by: Tom Lendacky <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
kernel/dma/swiotlb.c

index 8635a57f88e9e167d639b2ca30df95d826c0439e..8ca7d505d61cf287c775bcb44763ea884da6d1da 100644 (file)
@@ -118,6 +118,8 @@ void __init swiotlb_adjust_size(unsigned long size)
         * architectures such as those supporting memory encryption to
         * adjust/expand SWIOTLB size for their use.
         */
+       if (default_nslabs != IO_TLB_DEFAULT_SIZE >> IO_TLB_SHIFT)
+               return;
        size = ALIGN(size, IO_TLB_SIZE);
        default_nslabs = ALIGN(size >> IO_TLB_SHIFT, IO_TLB_SEGSIZE);
        pr_info("SWIOTLB bounce buffer size adjusted to %luMB", size >> 20);
This page took 0.065568 seconds and 4 git commands to generate.