diff --git a/core/linux/PKGBUILD b/core/linux/PKGBUILD
index eac2c664e..573d168c4 100644
--- a/core/linux/PKGBUILD
+++ b/core/linux/PKGBUILD
@@ -9,8 +9,8 @@ pkgname=('linux' 'linux-headers')
 # pkgname=linux-custom       # Build kernel with a different name
 _kernelname=${pkgname#linux}
 _basekernel=3.1
-pkgver=${_basekernel}.4
-pkgrel=2
+pkgver=${_basekernel}.6
+pkgrel=1
 arch=('arm')
 url="http://www.kernel.org/"
 license=('GPL2')
@@ -27,13 +27,13 @@ source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.bz2
         'change-default-console-loglevel.patch'
         'usb-add-reset-resume-quirk-for-several-webcams.patch')
 md5sums=('8d43453f8159b2332ad410b19d86a931'
-         'b8b14bdfbf76cfef8e042e7d1a385fca'
+         'b815dda0a05f7774a0ed0b705b8cfd4c'
          'e930a6fee04e63514d2c366c94519bb2'
          '3f64ed9d71499fe9293dc671f4e4087e'
          '29628745258df910abfb8cb24ca3ccd9'
          'c9e6e8bb0774a89f7f9bd30a13be7532'
          '55b04499a4578e586cf5a4d0b69fc5aa'
-         'fb1fa553bbeaf17a03e1df8a8d58b02d'
+         'cab485078b09fd7f3009d69bba3f11c0'
          '9d3c56a4b999c8bfbd4018089a62f662'
          'd00814b57448895e65fbbc800e8a58ba')
 
diff --git a/core/linux/config b/core/linux/config
index b01ab1e54..443824577 100644
--- a/core/linux/config
+++ b/core/linux/config
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 3.1.4 Kernel Configuration
+# Linux/arm 3.1.6 Kernel Configuration
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -135,7 +135,7 @@ CONFIG_COMPAT_BRK=y
 CONFIG_SLUB=y
 CONFIG_PROFILING=y
 CONFIG_TRACEPOINTS=y
-CONFIG_OPROFILE=y
+CONFIG_OPROFILE=m
 CONFIG_HAVE_OPROFILE=y
 CONFIG_KPROBES=y
 CONFIG_KRETPROBES=y
@@ -1451,7 +1451,7 @@ CONFIG_LIBERTAS_THINFIRM=m
 # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
 CONFIG_LIBERTAS_THINFIRM_USB=m
 # CONFIG_ATMEL is not set
-# CONFIG_AT76C50X_USB is not set
+CONFIG_AT76C50X_USB=m
 # CONFIG_PRISM54 is not set
 CONFIG_USB_ZD1201=m
 CONFIG_USB_NET_RNDIS_WLAN=m
@@ -1566,18 +1566,25 @@ CONFIG_RT2X00_LIB_FIRMWARE=y
 CONFIG_RT2X00_LIB_CRYPTO=y
 CONFIG_RT2X00_LIB_LEDS=y
 # CONFIG_RT2X00_DEBUG is not set
-# CONFIG_RTL8192CE is not set
-# CONFIG_RTL8192SE is not set
-# CONFIG_RTL8192DE is not set
-# CONFIG_RTL8192CU is not set
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTLWIFI=m
+CONFIG_RTL8192C_COMMON=m
 CONFIG_WL1251=m
 CONFIG_WL1251_SPI=m
 CONFIG_WL1251_SDIO=m
-# CONFIG_WL12XX_MENU is not set
+CONFIG_WL12XX_MENU=m
+CONFIG_WL12XX=m
+# CONFIG_WL12XX_HT is not set
+# CONFIG_WL12XX_SPI is not set
+# CONFIG_WL12XX_SDIO is not set
 CONFIG_WL12XX_PLATFORM_DATA=y
 CONFIG_ZD1211RW=m
 # CONFIG_ZD1211RW_DEBUG is not set
-# CONFIG_MWIFIEX is not set
+CONFIG_MWIFIEX=m
+# CONFIG_MWIFIEX_SDIO is not set
 
 #
 # WiMAX Wireless Broadband devices
diff --git a/core/linux/linux.install b/core/linux/linux.install
index 7cbc84d85..ceb55e56c 100644
--- a/core/linux/linux.install
+++ b/core/linux/linux.install
@@ -2,7 +2,7 @@
 # arg 2:  the old package version
 
 KERNEL_NAME=
-KERNEL_VERSION=3.1.0-4-ARCH
+KERNEL_VERSION=3.1.6-1-ARCH
 
 post_install () {
   # updating module dependencies