From: Michal Simek <monstr@monstr.eu>
Date: Tue, 21 Dec 2010 07:30:39 +0000 (+0100)
Subject: microblaze: Disabling interrupt should return 1 if was enabled
X-Git-Tag: v2025.01-rc5-pxa1908~19746^2~1
X-Git-Url: http://git.dujemihanovic.xyz/img/html/static/git-favicon.png?a=commitdiff_plain;h=68e99e54e9e3e0c1b3b45929dc94c26932b851d5;p=u-boot.git

microblaze: Disabling interrupt should return 1 if was enabled

Microblaze implement enable/disable interrupts through MSR
that's why disable_interrupts function should return 1 when interrupt
was enabled. Return 0 when interrupt was disabled.

Signed-off-by: John Linn <john.linn@xilinx.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
Acked-by: Wolfgang Denk <wd@denx.de>
---

diff --git a/arch/microblaze/cpu/interrupts.c b/arch/microblaze/cpu/interrupts.c
index e9d53c1afd..5a1321128a 100644
--- a/arch/microblaze/cpu/interrupts.c
+++ b/arch/microblaze/cpu/interrupts.c
@@ -41,8 +41,11 @@ void enable_interrupts (void)
 
 int disable_interrupts (void)
 {
+	unsigned int msr;
+
+	MFS(msr, rmsr);
 	MSRCLR(0x2);
-	return 0;
+	return (msr & 0x2) != 0;
 }
 
 #ifdef CONFIG_SYS_INTC_0