Index: linux-2.6.20-rc1/include/asm-arm/system.h
===================================================================
--- linux-2.6.20-rc1.orig/include/asm-arm/system.h
+++ linux-2.6.20-rc1/include/asm-arm/system.h
@@ -173,23 +173,25 @@ static inline void set_copro_access(unsi
extern unsigned long cr_no_alignment; /* defined in entry-armv.S */
extern unsigned long cr_alignment; /* defined in entry-armv.S */
+#include <linux/irqflags.h>
+
#ifndef CONFIG_SMP
static inline void adjust_cr(unsigned long mask, unsigned long set)
{
- unsigned long flags, cr;
+ unsigned long flags;
mask &= ~CR_A;
set &= mask;
- local_irq_save(flags);
+ raw_local_irq_save(flags);
cr_no_alignment = (cr_no_alignment & ~mask) | set;
cr_alignment = (cr_alignment & ~mask) | set;
set_cr((get_cr() & ~mask) | set);
- local_irq_restore(flags);
+ raw_local_irq_restore(flags);
}
#endif
@@ -248,8 +250,6 @@ static inline void sched_cacheflush(void
{
}
-#include <linux/irqflags.h>
-
#ifdef CONFIG_SMP
#define smp_mb() mb()
On Thu, Dec 21, 2006 at 09:35:14AM +0100, Dirk Behme wrote:
>
> ARM: Fix compilation issues and warnings for CONFIG PREEMPT
> RT for ARM in include/asm-arm/system.h.
>
> Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
Patches like this have been flying around for over a week now, but the
bug's been fixed using a different approach. Unfortunately, Linus
hasn't pulled the fixes yet, presumably due to being engrossed in
fixing this data corruption issue.
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
* Russell King <[email protected]> wrote:
> On Thu, Dec 21, 2006 at 09:35:14AM +0100, Dirk Behme wrote:
> >
> > ARM: Fix compilation issues and warnings for CONFIG PREEMPT
> > RT for ARM in include/asm-arm/system.h.
> >
> > Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
>
> Patches like this have been flying around for over a week now, but the
> bug's been fixed using a different approach. Unfortunately, Linus
> hasn't pulled the fixes yet, presumably due to being engrossed in
> fixing this data corruption issue.
update: it just into upstream -git to which i rebase daily, so i dropped
the first patch and i'm relying on your fix now in -rt.
Ingo