| From 918b8646497b5dba6ae82d4a7325f01b258972b9 Mon Sep 17 00:00:00 2001 |
| From: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| Date: Fri, 21 Jun 2019 19:19:29 +0300 |
| Subject: intel_th: msu: Fix single mode with disabled IOMMU |
| |
| From: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| |
| commit 918b8646497b5dba6ae82d4a7325f01b258972b9 upstream. |
| |
| Commit 4e0eaf239fb3 ("intel_th: msu: Fix single mode with IOMMU") switched |
| the single mode code to use dma mapping pages obtained from the page |
| allocator, but with IOMMU disabled, that may lead to using SWIOTLB bounce |
| buffers and without additional sync'ing, produces empty trace buffers. |
| |
| Fix this by using a DMA32 GFP flag to the page allocation in single mode, |
| as the device supports full 32-bit DMA addressing. |
| |
| Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| Fixes: 4e0eaf239fb3 ("intel_th: msu: Fix single mode with IOMMU") |
| Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| Reported-by: Ammy Yi <ammy.yi@intel.com> |
| Cc: stable <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20190621161930.60785-4-alexander.shishkin@linux.intel.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/hwtracing/intel_th/msu.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/hwtracing/intel_th/msu.c |
| +++ b/drivers/hwtracing/intel_th/msu.c |
| @@ -640,7 +640,7 @@ static int msc_buffer_contig_alloc(struc |
| goto err_out; |
| |
| ret = -ENOMEM; |
| - page = alloc_pages(GFP_KERNEL | __GFP_ZERO, order); |
| + page = alloc_pages(GFP_KERNEL | __GFP_ZERO | GFP_DMA32, order); |
| if (!page) |
| goto err_free_sgt; |
| |