diff --git a/meta-smx6-extras/recipes/linux/linux-smx6/0001-arm-Export-cache-flush-management-symbols-when-MULTI.patch b/meta-smx6-extras/recipes/linux/linux-smx6/0001-arm-Export-cache-flush-management-symbols-when-MULTI.patch
new file mode 100644
index 0000000000000000000000000000000000000000..c61a4dc165c22b60c8a35dce9145c42a0cf5d59c
--- /dev/null
+++ b/meta-smx6-extras/recipes/linux/linux-smx6/0001-arm-Export-cache-flush-management-symbols-when-MULTI.patch
@@ -0,0 +1,31 @@
+From 56e321cd19ee4909ca623ce1c351c966904123a9 Mon Sep 17 00:00:00 2001
+From: Pantelis Antoniou <panto@antoniou-consulting.com>
+Date: Fri, 4 Jan 2013 00:32:33 +0200
+Subject: [PATCH] arm: Export cache flush management symbols when !MULTI_CACHE
+
+When compiling a kernel without CONFIG_MULTI_CACHE enabled the
+dma access functions end up not being exported. Fix it.
+
+Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ arch/arm/kernel/setup.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
+index 1e8b030..c6a9a61 100644
+--- a/arch/arm/kernel/setup.c
++++ b/arch/arm/kernel/setup.c
+@@ -1080,3 +1080,12 @@ const struct seq_operations cpuinfo_op = {
+ 	.stop	= c_stop,
+ 	.show	= c_show
+ };
++
++/* export the cache management functions */
++#ifndef MULTI_CACHE
++
++EXPORT_SYMBOL(__glue(_CACHE,_dma_map_area));
++EXPORT_SYMBOL(__glue(_CACHE,_dma_unmap_area));
++EXPORT_SYMBOL(__glue(_CACHE,_dma_flush_range));
++
++#endif
diff --git a/meta-smx6-extras/recipes/linux/linux-smx6_3.14.28.bbappend b/meta-smx6-extras/recipes/linux/linux-smx6_3.14.28.bbappend
index ea884893f0cd1222ca5bbb573ff577cc4f8bf48c..1bcbb80b92df6696dfc059019a9f2a161ea85f24 100644
--- a/meta-smx6-extras/recipes/linux/linux-smx6_3.14.28.bbappend
+++ b/meta-smx6-extras/recipes/linux/linux-smx6_3.14.28.bbappend
@@ -31,6 +31,7 @@ FILESEXTRAPATHS_append := "${THISDIR}/${PN}:"
 SRC_URI += " \
     file://0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch \
     file://0001-ARM-LLVMLinux-Change-extern-inline-to-static-inline-.patch \
+    file://0001-arm-Export-cache-flush-management-symbols-when-MULTI.patch \
     "
 
 do_configure_prepend() {