diff options
author | John Crispin <john@openwrt.org> | 2016-04-09 10:25:16 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2016-04-09 10:25:16 +0000 |
commit | 9ef282cd9695f13f88a2a563fcfd6164b4d7ca18 (patch) | |
tree | c5fa6619a78010aa0cf8af391d2fb07d37a15fa0 /target/linux/generic/patches-4.4 | |
parent | cac43c0b715e9742c48ce391ab1ac5152f1e91d5 (diff) | |
download | upstream-9ef282cd9695f13f88a2a563fcfd6164b4d7ca18.tar.gz upstream-9ef282cd9695f13f88a2a563fcfd6164b4d7ca18.tar.bz2 upstream-9ef282cd9695f13f88a2a563fcfd6164b4d7ca18.zip |
arc770: enable unaligned access handling simulation in software
This enables misaligned access handling by software in Linux kernel.
With some wireless drivers (ath9k-htc and mt7601u for example) we see
misaligned accesses here and there and to cope with that without
fixing stuff in the drivers we're just gracefully handling it on ARC.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
SVN-Revision: 49134
Diffstat (limited to 'target/linux/generic/patches-4.4')
-rw-r--r-- | target/linux/generic/patches-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch b/target/linux/generic/patches-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch new file mode 100644 index 0000000000..76a9ce8968 --- /dev/null +++ b/target/linux/generic/patches-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch @@ -0,0 +1,31 @@ +From af737b55fc7c61f17da9ae89fba536e0a9338e98 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin <abrodkin@synopsys.com> +Date: Mon, 14 Mar 2016 17:26:34 +0300 +Subject: [PATCH] arc: enable unaligned access in kernel mode + +This enables misaligned access handling even in kernel mode. +Some wireless drivers (ath9k-htc and mt7601u) use misaligned accesses +here and there and to cope with that without fixing stuff in the drivers +we're just gracefully handling it on ARC. + +Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> +--- + arch/arc/kernel/unaligned.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arc/kernel/unaligned.c b/arch/arc/kernel/unaligned.c +index abd961f..0b0cc97 100644 +--- a/arch/arc/kernel/unaligned.c ++++ b/arch/arc/kernel/unaligned.c +@@ -206,7 +206,7 @@ int misaligned_fixup(unsigned long address, struct pt_regs *regs, + char buf[TASK_COMM_LEN]; + + /* handle user mode only and only if enabled by sysadmin */ +- if (!user_mode(regs) || !unaligned_enabled) ++ if (!unaligned_enabled) + return 1; + + if (no_unaligned_warning) { +-- +2.5.0 + |