aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/s390/include/asm/tlbflush.h3
-rw-r--r--arch/s390/mm/gmap.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/s390/include/asm/tlbflush.h b/arch/s390/include/asm/tlbflush.h
index e72cea7a4bfe..1a691ef740cf 100644
--- a/arch/s390/include/asm/tlbflush.h
+++ b/arch/s390/include/asm/tlbflush.h
@@ -74,7 +74,8 @@ static inline void __tlb_flush_full(struct mm_struct *mm)
74} 74}
75 75
76/* 76/*
77 * Flush TLB entries for a specific ASCE on all CPUs. 77 * Flush TLB entries for a specific ASCE on all CPUs. Should never be used
78 * when more than one asce (e.g. gmap) ran on this mm.
78 */ 79 */
79static inline void __tlb_flush_asce(struct mm_struct *mm, unsigned long asce) 80static inline void __tlb_flush_asce(struct mm_struct *mm, unsigned long asce)
80{ 81{
diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
index 69466f6055c2..063c721ec0dc 100644
--- a/arch/s390/mm/gmap.c
+++ b/arch/s390/mm/gmap.c
@@ -85,7 +85,7 @@ EXPORT_SYMBOL_GPL(gmap_alloc);
85static void gmap_flush_tlb(struct gmap *gmap) 85static void gmap_flush_tlb(struct gmap *gmap)
86{ 86{
87 if (MACHINE_HAS_IDTE) 87 if (MACHINE_HAS_IDTE)
88 __tlb_flush_asce(gmap->mm, gmap->asce); 88 __tlb_flush_idte(gmap->asce);
89 else 89 else
90 __tlb_flush_global(); 90 __tlb_flush_global();
91} 91}
@@ -124,7 +124,7 @@ void gmap_free(struct gmap *gmap)
124 124
125 /* Flush tlb. */ 125 /* Flush tlb. */
126 if (MACHINE_HAS_IDTE) 126 if (MACHINE_HAS_IDTE)
127 __tlb_flush_asce(gmap->mm, gmap->asce); 127 __tlb_flush_idte(gmap->asce);
128 else 128 else
129 __tlb_flush_global(); 129 __tlb_flush_global();
130 130