summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnish Trivedi <anish@freescale.com>2010-10-15 17:10:32 -0500
committerAnish Trivedi <anish@freescale.com>2010-10-19 09:54:50 -0500
commita8b061caba3febe15217e2197851a43cc45f8214 (patch)
tree46e28861c459b5fa98be62a56d5ea4d83e5504cf
parentb866451e8c0100877e52874299fa17c30f78387e (diff)
ENGR00132649 SAHARA test causes ext3 file system crash
During kernel upgrade, replaced deprecated functions: dmac_clean_range() with clean_dcache_area() and, dmac_inv_range() with invalidate_kernel_vmap_range(), but that results in some test case failures when file system is on the SD card instead of NFS. Quite possibly the cache coherency problems were not showing up during NFS testing. Corrected this by using the proper replacements: dmac_clean_range() replaced by dmac_map_area() and, dmac_inv_range() replaced by dmac_unmap_area(). This fixes the cache coherency issues and all tests pass with file system on SD card as well mounted over NFS. Signed-off-by: Anish Trivedi <anish@freescale.com>
-rw-r--r--drivers/mxc/security/sahara2/include/linux_port.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mxc/security/sahara2/include/linux_port.h b/drivers/mxc/security/sahara2/include/linux_port.h
index 68f0a03bae73..bd65c55c4f7b 100644
--- a/drivers/mxc/security/sahara2/include/linux_port.h
+++ b/drivers/mxc/security/sahara2/include/linux_port.h
@@ -1753,7 +1753,7 @@ extern void v6_flush_kern_cache_all_L2(void);
{ \
void *s = (void*)start; \
void *e = s + len; \
- clean_dcache_area(s, len); \
+ dmac_map_area(s, len, DMA_TO_DEVICE); \
outer_clean_range(__pa(s), __pa(e)); \
}
#endif
@@ -1774,7 +1774,7 @@ extern void v6_flush_kern_cache_all_L2(void);
{ \
void *s = (void*)start; \
void *e = s + len; \
- invalidate_kernel_vmap_range(s, len); \
+ dmac_unmap_area(s, len, DMA_FROM_DEVICE); \
outer_inv_range(__pa(s), __pa(e)); \
}
#endif