xor_blocks can't be called from interrupt context, so remove the
handling for that.

Signed-off-by: Christoph Hellwig <[email protected]>
---
 arch/arm/include/asm/xor.h | 41 +++++++++++---------------------------
 1 file changed, 12 insertions(+), 29 deletions(-)

diff --git a/arch/arm/include/asm/xor.h b/arch/arm/include/asm/xor.h
index 934b549905f5..bca2a6514746 100644
--- a/arch/arm/include/asm/xor.h
+++ b/arch/arm/include/asm/xor.h
@@ -4,7 +4,6 @@
  *
  *  Copyright (C) 2001 Russell King
  */
-#include <linux/hardirq.h>
 #include <asm-generic/xor.h>
 #include <asm/hwcap.h>
 #include <asm/neon.h>
@@ -156,13 +155,9 @@ static void
 xor_neon_2(unsigned long bytes, unsigned long * __restrict p1,
           const unsigned long * __restrict p2)
 {
-       if (in_interrupt()) {
-               xor_arm4regs_2(bytes, p1, p2);
-       } else {
-               kernel_neon_begin();
-               xor_block_neon_inner.do_2(bytes, p1, p2);
-               kernel_neon_end();
-       }
+       kernel_neon_begin();
+       xor_block_neon_inner.do_2(bytes, p1, p2);
+       kernel_neon_end();
 }
 
 static void
@@ -170,13 +165,9 @@ xor_neon_3(unsigned long bytes, unsigned long * __restrict 
p1,
           const unsigned long * __restrict p2,
           const unsigned long * __restrict p3)
 {
-       if (in_interrupt()) {
-               xor_arm4regs_3(bytes, p1, p2, p3);
-       } else {
-               kernel_neon_begin();
-               xor_block_neon_inner.do_3(bytes, p1, p2, p3);
-               kernel_neon_end();
-       }
+       kernel_neon_begin();
+       xor_block_neon_inner.do_3(bytes, p1, p2, p3);
+       kernel_neon_end();
 }
 
 static void
@@ -185,13 +176,9 @@ xor_neon_4(unsigned long bytes, unsigned long * __restrict 
p1,
           const unsigned long * __restrict p3,
           const unsigned long * __restrict p4)
 {
-       if (in_interrupt()) {
-               xor_arm4regs_4(bytes, p1, p2, p3, p4);
-       } else {
-               kernel_neon_begin();
-               xor_block_neon_inner.do_4(bytes, p1, p2, p3, p4);
-               kernel_neon_end();
-       }
+       kernel_neon_begin();
+       xor_block_neon_inner.do_4(bytes, p1, p2, p3, p4);
+       kernel_neon_end();
 }
 
 static void
@@ -201,13 +188,9 @@ xor_neon_5(unsigned long bytes, unsigned long * __restrict 
p1,
           const unsigned long * __restrict p4,
           const unsigned long * __restrict p5)
 {
-       if (in_interrupt()) {
-               xor_arm4regs_5(bytes, p1, p2, p3, p4, p5);
-       } else {
-               kernel_neon_begin();
-               xor_block_neon_inner.do_5(bytes, p1, p2, p3, p4, p5);
-               kernel_neon_end();
-       }
+       kernel_neon_begin();
+       xor_block_neon_inner.do_5(bytes, p1, p2, p3, p4, p5);
+       kernel_neon_end();
 }
 
 static struct xor_block_template xor_block_neon = {
-- 
2.47.3


Reply via email to