diff options
-rw-r--r-- | arch/s390/include/asm/tlbflush.h | 3 | ||||
-rw-r--r-- | arch/s390/mm/gmap.c | 4 |
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 | */ |
79 | static inline void __tlb_flush_asce(struct mm_struct *mm, unsigned long asce) | 80 | static 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); | |||
85 | static void gmap_flush_tlb(struct gmap *gmap) | 85 | static 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 | ||