diff options
| author | Yuriy Kolerov <yuriy.kolerov@synopsys.com> | 2016-09-12 11:55:03 -0400 |
|---|---|---|
| committer | Vineet Gupta <vgupta@synopsys.com> | 2016-09-30 17:48:24 -0400 |
| commit | bc0c7ece6191d89f435e4e4016f74167430c6c21 (patch) | |
| tree | 344cc4644ef607e7bc31d5b503439d9f1d5d8d37 /arch/arc/kernel | |
| parent | 99a2ca65d558ecdea4c184baad6730f2aec3aad0 (diff) | |
ARCv2: intc: Use kflag if STATUS32.IE must be reset
In the end of "arc_init_IRQ" STATUS32.IE flag is going to be affected by
"flag" instruction but "flag" never touches IE flag on ARCv2. So "kflag"
instruction must be used instead of "flag".
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Cc: stable@vger.kernel.org #4.2+
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel')
| -rw-r--r-- | arch/arc/kernel/intc-arcv2.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arc/kernel/intc-arcv2.c b/arch/arc/kernel/intc-arcv2.c index 6c24faf48b16..62b59409a5d9 100644 --- a/arch/arc/kernel/intc-arcv2.c +++ b/arch/arc/kernel/intc-arcv2.c | |||
| @@ -74,7 +74,7 @@ void arc_init_IRQ(void) | |||
| 74 | tmp = read_aux_reg(0xa); | 74 | tmp = read_aux_reg(0xa); |
| 75 | tmp |= STATUS_AD_MASK | (irq_prio << 1); | 75 | tmp |= STATUS_AD_MASK | (irq_prio << 1); |
| 76 | tmp &= ~STATUS_IE_MASK; | 76 | tmp &= ~STATUS_IE_MASK; |
| 77 | asm volatile("flag %0 \n"::"r"(tmp)); | 77 | asm volatile("kflag %0 \n"::"r"(tmp)); |
| 78 | } | 78 | } |
| 79 | 79 | ||
| 80 | static void arcv2_irq_mask(struct irq_data *data) | 80 | static void arcv2_irq_mask(struct irq_data *data) |
