When allocating DMA buffers for the MSU, use the real device instead
of GTH.

Signed-off-by: Alexander Shishkin <alexander.shish...@linux.intel.com>
---
 drivers/hwtracing/intel_th/msu.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/hwtracing/intel_th/msu.c b/drivers/hwtracing/intel_th/msu.c
index dbbe31df74..dfb57eaa9f 100644
--- a/drivers/hwtracing/intel_th/msu.c
+++ b/drivers/hwtracing/intel_th/msu.c
@@ -709,17 +709,17 @@ static int msc_buffer_win_alloc(struct msc *msc, unsigned 
int nr_blocks)
        }
 
        for (i = 0; i < nr_blocks; i++) {
-               win->block[i].bdesc = dma_alloc_coherent(msc_dev(msc), size,
-                                                        &win->block[i].addr,
-                                                        GFP_KERNEL);
+               win->block[i].bdesc =
+                       dma_alloc_coherent(msc_dev(msc)->parent->parent, size,
+                                          &win->block[i].addr, GFP_KERNEL);
+
+               if (!win->block[i].bdesc)
+                       goto err_nomem;
 
 #ifdef CONFIG_X86
                /* Set the page as uncached */
                set_memory_uc((unsigned long)win->block[i].bdesc, 1);
 #endif
-
-               if (!win->block[i].bdesc)
-                       goto err_nomem;
        }
 
        win->msc = msc;
-- 
2.14.1

Reply via email to