--- /dev/null
+--- a/config.mk
++++ b/config.mk
+@@ -89,21 +89,6 @@ $(error "ERROR: Your 2.6.27 kernel has C
+ endif
+ endif
+
+-# This is because with CONFIG_MAC80211 include/linux/skbuff.h will
+-# enable on 2.6.27 a new attribute:
+-#
+-# skb->do_not_encrypt
+-#
+-# and on 2.6.28 another new attribute:
+-#
+-# skb->requeue
+-#
+-ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 27 && echo yes),yes)
+-ifeq ($(CONFIG_MAC80211),)
+-$(error "ERROR: Your >=2.6.27 kernel has CONFIG_MAC80211 disabled, you should have it CONFIG_MAC80211=m if you want to use this thing.")
+-endif
+-endif
+-
+ ifneq ($(KERNELRELEASE),) # This prevents a warning
+
+ ifeq ($(CONFIG_NET_SCHED),)
--- a/config.mk
+++ b/config.mk
-@@ -171,7 +171,7 @@ ifneq ($(CONFIG_PCI),)
+@@ -156,7 +156,7 @@ ifneq ($(CONFIG_PCI),)
# CONFIG_ATH5K_DEBUG=y
# CONFIG_ATH5K_RFKILL=y
# CONFIG_ATH9K=m
# CONFIG_CASSINI is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# CONFIG_CDROM_PKTCDVD is not set
-CONFIG_CFG80211=m
+# CONFIG_CFG80211 is not set
# CONFIG_CGROUPS is not set
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CRC_T10DIF is not set
CONFIG_CROSSCOMPILE=y
# CONFIG_CRYPTO_AEAD is not set
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_ALGAPI=m
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_ALGAPI is not set
# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_AUTHENC is not set
-CONFIG_CRYPTO_BLKCIPHER=m
+# CONFIG_CRYPTO_BLKCIPHER is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_LZO is not set
-CONFIG_CRYPTO_MANAGER=m
+# CONFIG_CRYPTO_MANAGER is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_LSF is not set
# CONFIG_LXT_PHY is not set
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_MAC80211_LEDS is not set
-CONFIG_MAC80211=m
-# CONFIG_MAC80211_MESH is not set
-CONFIG_MAC80211_RC_DEFAULT="pid"
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-CONFIG_MAC80211_RC_PID=y
+# CONFIG_MAC80211 is not set
# CONFIG_MAC_EMUMOUSEBTN is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MACVLAN is not set
# CONFIG_CASSINI is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# CONFIG_CDROM_PKTCDVD is not set
-CONFIG_CFG80211=m
+# CONFIG_CFG80211 is not set
# CONFIG_CGROUPS is not set
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CRC_ITU_T is not set
# CONFIG_CRC_T10DIF is not set
CONFIG_CROSSCOMPILE=y
-CONFIG_CRYPTO_AEAD2=m
-CONFIG_CRYPTO_AEAD=m
+# CONFIG_CRYPTO_AEAD is not set
# CONFIG_CRYPTO_AES_586 is not set
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_ALGAPI=m
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_ALGAPI is not set
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_AUTHENC is not set
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_BLKCIPHER=m
+# CONFIG_CRYPTO_BLKCIPHER is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_FIPS is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_HASH2=m
-CONFIG_CRYPTO_HASH=m
+# CONFIG_CRYPTO_HASH is not set
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_HW is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_LZO is not set
-CONFIG_CRYPTO_MANAGER2=m
-CONFIG_CRYPTO_MANAGER=m
+# CONFIG_CRYPTO_MANAGER2 is not set
+# CONFIG_CRYPTO_MANAGER is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
-CONFIG_CRYPTO_RNG2=m
-CONFIG_CRYPTO_RNG=m
+# CONFIG_CRYPTO_RNG is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_LOGITECH_FF is not set
# CONFIG_LSF is not set
# CONFIG_LXT_PHY is not set
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_MAC80211_LEDS is not set
-CONFIG_MAC80211=m
-# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT="pid"
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_PID=y
+# CONFIG_MAC80211 is not set
# CONFIG_MAC_EMUMOUSEBTN is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MACVLAN is not set
# CONFIG_CASSINI is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# CONFIG_CDROM_PKTCDVD is not set
-CONFIG_CFG80211=m
-# CONFIG_CFG80211_REG_DEBUG is not set
+# CONFIG_CFG80211 is not set
# CONFIG_CGROUPS is not set
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CRC_ITU_T is not set
# CONFIG_CRC_T10DIF is not set
CONFIG_CROSSCOMPILE=y
-CONFIG_CRYPTO_AEAD2=m
# CONFIG_CRYPTO_AEAD is not set
# CONFIG_CRYPTO_AES_586 is not set
-CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_AES is not set
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_ALGAPI=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_AUTHENC is not set
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_BLKCIPHER=m
+# CONFIG_CRYPTO_BLKCIPHER is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_FIPS is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_HASH2=m
# CONFIG_CRYPTO_HASH is not set
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_HW is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_LZO is not set
-CONFIG_CRYPTO_MANAGER2=m
-CONFIG_CRYPTO_MANAGER=m
+# CONFIG_CRYPTO_MANAGER2 is not set
+# CONFIG_CRYPTO_MANAGER is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
-CONFIG_CRYPTO_RNG2=m
# CONFIG_CRYPTO_RNG is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_TWOFISH_COMMON is not set
# CONFIG_CRYPTO_TWOFISH is not set
CONFIG_CRYPTO_UNLZMA=y
-CONFIG_CRYPTO_WORKQUEUE=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_XTS is not set
# CONFIG_LSF is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_LXT_PHY is not set
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_MAC80211_LEDS is not set
-CONFIG_MAC80211=m
-# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT="pid"
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_PID=y
+# CONFIG_MAC80211 is not set
# CONFIG_MAC_EMUMOUSEBTN is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MACVLAN is not set
# CONFIG_CASSINI is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# CONFIG_CDROM_PKTCDVD is not set
-CONFIG_CFG80211=m
-# CONFIG_CFG80211_REG_DEBUG is not set
+# CONFIG_CFG80211 is not set
# CONFIG_CGROUPS is not set
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CRC_ITU_T is not set
# CONFIG_CRC_T10DIF is not set
CONFIG_CROSSCOMPILE=y
-CONFIG_CRYPTO_AEAD2=m
# CONFIG_CRYPTO_AEAD is not set
# CONFIG_CRYPTO_AES_586 is not set
-CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_AES is not set
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_ALGAPI=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_AUTHENC is not set
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_BLKCIPHER=m
+# CONFIG_CRYPTO_BLKCIPHER is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_FIPS is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_HASH2=m
# CONFIG_CRYPTO_HASH is not set
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_HW is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_LZO is not set
-CONFIG_CRYPTO_MANAGER2=m
-CONFIG_CRYPTO_MANAGER=m
+# CONFIG_CRYPTO_MANAGER2 is not set
+# CONFIG_CRYPTO_MANAGER is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
-CONFIG_CRYPTO_RNG2=m
# CONFIG_CRYPTO_RNG is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_TWOFISH_COMMON is not set
# CONFIG_CRYPTO_TWOFISH is not set
CONFIG_CRYPTO_UNLZMA=y
-CONFIG_CRYPTO_WORKQUEUE=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_XTS is not set
# CONFIG_LSF is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_LXT_PHY is not set
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_MAC80211_LEDS is not set
-CONFIG_MAC80211=m
-# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT="pid"
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_PID=y
+# CONFIG_MAC80211 is not set
# CONFIG_MAC_EMUMOUSEBTN is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MACVLAN is not set
--- /dev/null
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
+@@ -94,7 +94,7 @@ struct wireless_dev;
+ */
+
+ #if defined(CONFIG_WLAN_80211) || defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
+-# if defined(CONFIG_MAC80211_MESH)
++# if 1 || defined(CONFIG_MAC80211_MESH)
+ # define LL_MAX_HEADER 128
+ # else
+ # define LL_MAX_HEADER 96
--- /dev/null
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
+@@ -95,7 +95,7 @@ struct wireless_dev;
+ */
+
+ #if defined(CONFIG_WLAN_80211) || defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
+-# if defined(CONFIG_MAC80211_MESH)
++# if 1 || defined(CONFIG_MAC80211_MESH)
+ # define LL_MAX_HEADER 128
+ # else
+ # define LL_MAX_HEADER 96
--- /dev/null
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
+@@ -99,7 +99,7 @@ struct wireless_dev;
+ */
+
+ #if defined(CONFIG_WLAN_80211) || defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
+-# if defined(CONFIG_MAC80211_MESH)
++# if 1 || defined(CONFIG_MAC80211_MESH)
+ # define LL_MAX_HEADER 128
+ # else
+ # define LL_MAX_HEADER 96