diff options
author | Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> | 2010-05-06 09:10:53 +0200 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2012-01-05 10:15:53 +0000 |
commit | 6c52813664512cadf1a6ac2dcc933f959876b657 (patch) | |
tree | 66f5e4ef193e244924575f568d1865dcdc1cae38 /fs | |
parent | 37df2f0d15296e81afe5f437e3985afec1fdfad6 (diff) |
fix cache coherence issues with bounce buffers
[Rabin VINCENT]
This is for I$-D$ coherence issues when bounce buffers are used
for the MMC driver and code is executed from a file system on
eMMC.
IMO a better fix is to either change flush_kernel_dcache_page()
to flush the D$ even on VIPT non-aliasing caches or to replace
the flush_kernel_dcache_page() in lib/scatterlist.c with
flush_dcache_page().
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/mpage.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/mpage.c b/fs/mpage.c index fdfae9fa98c..cc782f9e68d 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -53,6 +53,8 @@ static void mpage_end_io(struct bio *bio, int err) prefetchw(&bvec->bv_page->flags); if (bio_data_dir(bio) == READ) { if (uptodate) { + /* FIXME: fix to solve cache coherence issues. */ + flush_dcache_page(page); SetPageUptodate(page); } else { ClearPageUptodate(page); |