Re: [PATCH] swiotlb: Fix inversed DMA_ATTR_NO_WARN test

From: Christian KÃnig
Date: Wed May 02 2018 - 05:50:09 EST


Am 01.05.2018 um 15:24 schrieb Michel DÃnzer:
From: Michel DÃnzer <michel.daenzer@xxxxxxx>

The result was printing the warning only when we were explicitly asked
not to.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: 0176adb004065d6815a8e67946752df4cd947c5b "swiotlb: refactor
coherent buffer allocation"
Signed-off-by: Michel DÃnzer <michel.daenzer@xxxxxxx>

Good catch, looked at the code multiple times and haven't seen that myself :)

Reviewed-by: Christian KÃnig <christian.koenig@xxxxxxx>.

Christian.

---
lib/swiotlb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index c43ec2271469..e9ac21540628 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -750,7 +750,7 @@ swiotlb_alloc_buffer(struct device *dev, size_t size, dma_addr_t *dma_handle,
swiotlb_tbl_unmap_single(dev, phys_addr, size, DMA_TO_DEVICE,
DMA_ATTR_SKIP_CPU_SYNC);
out_warn:
- if ((attrs & DMA_ATTR_NO_WARN) && printk_ratelimit()) {
+ if (!(attrs & DMA_ATTR_NO_WARN) && printk_ratelimit()) {
dev_warn(dev,
"swiotlb: coherent allocation failed, size=%zu\n",
size);