Revert "kernel: work around CONFIG_CPU_SW_DOMAIN_PAN breakage on ARM11 MPCore"

This reverts commit r48335

The workaround is incomplete and cannot cover all possible cases. The
only real solution to this problem is to disable this feature on
ARM11MPcore entirely.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48460
This commit is contained in:
Felix Fietkau 2016-01-23 18:02:55 +00:00
parent eb39f41ffd
commit 84a7bc3d57

View File

@ -1,44 +0,0 @@
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 19 Jan 2016 00:18:09 +0100
Subject: [PATCH] ARM: work around CONFIG_CPU_SW_DOMAIN_PAN breakage on ARM11
MPCore
Patch taken from http://www.spinics.net/lists/arm-kernel/msg450888.html
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
--- a/arch/arm/kernel/smp_tlb.c
+++ b/arch/arm/kernel/smp_tlb.c
@@ -9,6 +9,7 @@
*/
#include <linux/preempt.h>
#include <linux/smp.h>
+#include <linux/uaccess.h>
#include <asm/smp_plat.h>
#include <asm/tlbflush.h>
@@ -40,8 +41,11 @@ static inline void ipi_flush_tlb_mm(void
static inline void ipi_flush_tlb_page(void *arg)
{
struct tlb_args *ta = (struct tlb_args *)arg;
+ unsigned int __ua_flags = uaccess_save_and_enable();
local_flush_tlb_page(ta->ta_vma, ta->ta_start);
+
+ uaccess_restore(__ua_flags);
}
static inline void ipi_flush_tlb_kernel_page(void *arg)
@@ -54,8 +58,11 @@ static inline void ipi_flush_tlb_kernel_
static inline void ipi_flush_tlb_range(void *arg)
{
struct tlb_args *ta = (struct tlb_args *)arg;
+ unsigned int __ua_flags = uaccess_save_and_enable();
local_flush_tlb_range(ta->ta_vma, ta->ta_start, ta->ta_end);
+
+ uaccess_restore(__ua_flags);
}
static inline void ipi_flush_tlb_kernel_range(void *arg)