Index: linux-2.6.15-rc5-mm3/include/asm-x86_64/atomic.h =================================================================== --- linux-2.6.15-rc5-mm3.orig/include/asm-x86_64/atomic.h 2005-12-16 11:44:08.000000000 -0800 +++ linux-2.6.15-rc5-mm3/include/asm-x86_64/atomic.h 2005-12-20 11:40:40.000000000 -0800 @@ -2,6 +2,7 @@ #define __ARCH_X86_64_ATOMIC__ #include +#include /* atomic_t should be 32 bit signed type */ @@ -21,7 +22,7 @@ * on us. We need to use _exactly_ the address the user gave us, * not some alias that contains the same information. */ -typedef struct { volatile int counter; } atomic_t; +typedef struct { volatile s32 counter; } atomic_t; #define ATOMIC_INIT(i) { (i) } @@ -205,7 +206,7 @@ static __inline__ int atomic_sub_return( /* An 64bit atomic type */ -typedef struct { volatile long counter; } atomic64_t; +typedef struct { volatile s64 counter; } atomic64_t; #define ATOMIC64_INIT(i) { (i) }