Skip to content

Commit

Permalink
Fix m32r __xchg
Browse files Browse the repository at this point in the history
the #endif  /* CONFIG_SMP */ should cover the default condition, or it may cause
bad parameter to be silently missed.

To make it work correctly, we have to remove the ifdef CONFIG SMP surrounding
__xchg_called_with_bad_pointer declaration. Thanks to Adrian Bunk for detecting
this.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Acked-by: Hirokazu Takata <takata@linux-m32r.org>
Cc: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Mathieu Desnoyers authored and Linus Torvalds committed Feb 7, 2008
1 parent 7b631c2 commit f94d1d3
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions include/asm-m32r/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,7 @@ static inline void local_irq_disable(void)
((__typeof__(*(ptr)))__xchg_local((unsigned long)(x), (ptr), \
sizeof(*(ptr))))

#ifdef CONFIG_SMP
extern void __xchg_called_with_bad_pointer(void);
#endif

#ifdef CONFIG_CHIP_M32700_TS1
#define DCACHE_CLEAR(reg0, reg1, addr) \
Expand Down Expand Up @@ -189,9 +187,9 @@ __xchg(unsigned long x, volatile void *ptr, int size)
#endif /* CONFIG_CHIP_M32700_TS1 */
);
break;
#endif /* CONFIG_SMP */
default:
__xchg_called_with_bad_pointer();
#endif /* CONFIG_SMP */
}

local_irq_restore(flags);
Expand Down

0 comments on commit f94d1d3

Please sign in to comment.