diff -Naur compat-wireless-3.2.5-1.org/compat/compat_atomic.c compat-wireless-3.2.5-1/compat/compat_atomic.c
--- compat-wireless-3.2.5-1.org/compat/compat_atomic.c	2012-02-07 04:45:51.000000000 +0100
+++ compat-wireless-3.2.5-1/compat/compat_atomic.c	2012-02-18 15:39:42.000000000 +0100
@@ -3,6 +3,8 @@
 
 #if !((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)) && (defined(CONFIG_UML) || defined(CONFIG_X86))) && !((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)) && defined(CONFIG_ARM) && !defined(CONFIG_GENERIC_ATOMIC64))
 
+#include <asm-generic/atomic64.h>
+
 static DEFINE_SPINLOCK(lock);
 
 long long atomic64_read(const atomic64_t *v)
diff -Naur compat-wireless-3.2.5-1.org/compat/Makefile compat-wireless-3.2.5-1/compat/Makefile
--- compat-wireless-3.2.5-1.org/compat/Makefile	2012-02-07 05:25:54.000000000 +0100
+++ compat-wireless-3.2.5-1/compat/Makefile	2012-02-18 13:35:18.000000000 +0100
@@ -38,3 +38,9 @@
 	cordic.o \
 	crc8.o
 
+
+ifndef CONFIG_64BIT
+ifndef CONFIG_GENERIC_ATOMIC64
+  compat-y += compat_atomic.o
+endif
+endif
diff -Naur compat-wireless-3.2.5-1.org/net/mac80211/key.h compat-wireless-3.2.5-1/net/mac80211/key.h
--- compat-wireless-3.2.5-1.org/net/mac80211/key.h	2012-02-07 05:25:53.000000000 +0100
+++ compat-wireless-3.2.5-1/net/mac80211/key.h	2012-02-18 15:40:44.000000000 +0100
@@ -32,6 +32,8 @@
 
 #define NUM_RX_DATA_QUEUES	16
 
+#include <asm-generic/atomic64.h>
+
 struct ieee80211_local;
 struct ieee80211_sub_if_data;
 struct sta_info;
