sparc64: Fix D-cache flushing on swapin from SW devices.

Thanks to tip form ARM folks and Russell King.

If flush_dcache_page() occurs on a swapin it will have a mapping
and we'll try to defer the flush by setting the dirty bit.

But when it hits update_dcache_page() we won't flush because the
page won't have a mapping any more.  So remove the mapping
requirement in flush_dcache().

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2009-10-12 03:20:57 -07:00
parent de23cf3c42
commit 1a78cedb99

View File

@ -265,7 +265,7 @@ static void flush_dcache(unsigned long pfn)
struct page *page;
page = pfn_to_page(pfn);
if (page && page_mapping(page)) {
if (page) {
unsigned long pg_flags;
pg_flags = page->flags;