Silence unwanted "swiotlb buffer is full" warnings (rhbz 1556797)

This commit is contained in:
Jeremy Cline 2018-05-15 21:45:11 -04:00
parent 0ae126a8d4
commit 2bda331837
No known key found for this signature in database
GPG Key ID: 9223308FA9B246DB
2 changed files with 49 additions and 0 deletions

View File

@ -677,6 +677,9 @@ Patch511: 0001-xfs-set-format-back-to-extents-if-xfs_bmap_extents_t.patch
# rhbz 1566258
Patch512: KVM-vmx-update-sec-exec-controls-for-UMIP-iff-emulating-UMIP.patch
# rhbz 1556797
Patch513: swiotlb-silent-unwanted-warning-buffer-is-full.patch
# END OF PATCH DEFINITIONS
%endif
@ -1930,6 +1933,9 @@ fi
#
#
%changelog
* Tue May 15 2018 Jeremy Cline <jeremy@jcline.org>
- Silence unwanted "swiotlb buffer is full" warnings (rhbz 1556797)
* Wed May 09 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.8-201
- Bump the release for a re-build

View File

@ -0,0 +1,43 @@
From 05e13bb57e6f181d7605f8608181c7e6fb7f591d Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Sat, 12 May 2018 11:57:37 +0200
Subject: [PATCH] swiotlb: silent unwanted warning "buffer is full"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If DMA_ATTR_NO_WARN is passed to swiotlb_alloc_buffer(), it should be
passed further down to swiotlb_tbl_map_single(). Otherwise we escape
half of the warnings but still log the other half.
This is one of the multiple causes of spurious warnings reported at:
https://bugs.freedesktop.org/show_bug.cgi?id=104082
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Fixes: 0176adb00406 ("swiotlb: refactor coherent buffer allocation")
Cc: Christoph Hellwig <hch@lst.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: Michel Dänzer <michel@daenzer.net>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: stable@vger.kernel.org # v4.16
Signed-off-by: Jeremy Cline <jcline@redhat.com>
---
lib/swiotlb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index 12fbaa445637..cc640588f145 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -714,7 +714,7 @@ swiotlb_alloc_buffer(struct device *dev, size_t size, dma_addr_t *dma_handle,
phys_addr = swiotlb_tbl_map_single(dev,
__phys_to_dma(dev, io_tlb_start),
- 0, size, DMA_FROM_DEVICE, 0);
+ 0, size, DMA_FROM_DEVICE, attrs);
if (phys_addr == SWIOTLB_MAP_ERROR)
goto out_warn;
--
2.17.0