Re: df9ee29270 breaks the build on alpha

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

On Mon, Nov 01, 2010 at 08:53:10PM +1300, Michael Cree wrote:
> So, what's the way best forward?

I guess the simplest way to fix that is to use swpipl() call
directly, like this (untested).


diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h
index eda9b90..56ff965 100644
--- a/arch/alpha/include/asm/io.h
+++ b/arch/alpha/include/asm/io.h
@@ -37,8 +37,9 @@
 extern inline void __set_hae(unsigned long new_hae)
-	unsigned long flags;
-	local_irq_save(flags);
+	unsigned long flags = swpipl(IPL_MAX);
+	barrier();
 	alpha_mv.hae_cache = new_hae;
 	*alpha_mv.hae_register = new_hae;
@@ -46,7 +47,8 @@ extern inline void __set_hae(unsigned long new_hae)
 	/* Re-read to make sure it was written.  */
 	new_hae = *alpha_mv.hae_register;
-	local_irq_restore(flags);
+	setipl(flags);
+	barrier();
 extern inline void set_hae(unsigned long new_hae)
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

[Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]     [Linux Resources]

Powered by Linux