The requirement to disable local irqs over kmap_atomic is long gone, so remove those calls. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- arch/powerpc/mm/dma-noncoherent.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/powerpc/mm/dma-noncoherent.c b/arch/powerpc/mm/dma-noncoherent.c index 382528475433..d1c16456abac 100644 --- a/arch/powerpc/mm/dma-noncoherent.c +++ b/arch/powerpc/mm/dma-noncoherent.c @@ -357,12 +357,10 @@ static inline void __dma_sync_page_highmem(struct page *page, { size_t seg_size = min((size_t)(PAGE_SIZE - offset), size); size_t cur_size = seg_size; - unsigned long flags, start, seg_offset = offset; + unsigned long start, seg_offset = offset; int nr_segs = 1 + ((size - seg_size) + PAGE_SIZE - 1)/PAGE_SIZE; int seg_nr = 0; - local_irq_save(flags); - do { start = (unsigned long)kmap_atomic(page + seg_nr) + seg_offset; @@ -378,8 +376,6 @@ static inline void __dma_sync_page_highmem(struct page *page, cur_size += seg_size; seg_offset = 0; } while (seg_nr < nr_segs); - - local_irq_restore(flags); } #endif /* CONFIG_HIGHMEM */ -- 2.18.0 -- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |