diff options
Diffstat (limited to 'arch/s390/mm/pgtable.c')
-rw-r--r-- | arch/s390/mm/pgtable.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c index 1cab221077cc..e9ac2d60b7e5 100644 --- a/arch/s390/mm/pgtable.c +++ b/arch/s390/mm/pgtable.c | |||
@@ -85,7 +85,6 @@ repeat: | |||
85 | crst_table_free(mm, table); | 85 | crst_table_free(mm, table); |
86 | if (mm->context.asce_limit < limit) | 86 | if (mm->context.asce_limit < limit) |
87 | goto repeat; | 87 | goto repeat; |
88 | update_mm(mm, current); | ||
89 | return 0; | 88 | return 0; |
90 | } | 89 | } |
91 | 90 | ||
@@ -93,9 +92,6 @@ void crst_table_downgrade(struct mm_struct *mm, unsigned long limit) | |||
93 | { | 92 | { |
94 | pgd_t *pgd; | 93 | pgd_t *pgd; |
95 | 94 | ||
96 | if (mm->context.asce_limit <= limit) | ||
97 | return; | ||
98 | __tlb_flush_mm(mm); | ||
99 | while (mm->context.asce_limit > limit) { | 95 | while (mm->context.asce_limit > limit) { |
100 | pgd = mm->pgd; | 96 | pgd = mm->pgd; |
101 | switch (pgd_val(*pgd) & _REGION_ENTRY_TYPE_MASK) { | 97 | switch (pgd_val(*pgd) & _REGION_ENTRY_TYPE_MASK) { |
@@ -118,7 +114,6 @@ void crst_table_downgrade(struct mm_struct *mm, unsigned long limit) | |||
118 | mm->task_size = mm->context.asce_limit; | 114 | mm->task_size = mm->context.asce_limit; |
119 | crst_table_free(mm, (unsigned long *) pgd); | 115 | crst_table_free(mm, (unsigned long *) pgd); |
120 | } | 116 | } |
121 | update_mm(mm, current); | ||
122 | } | 117 | } |
123 | #endif | 118 | #endif |
124 | 119 | ||