diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/xdr.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c index 49174f0d0a3e..6ac45103a272 100644 --- a/net/sunrpc/xdr.c +++ b/net/sunrpc/xdr.c | |||
@@ -191,7 +191,6 @@ _shift_data_right_pages(struct page **pages, size_t pgto_base, | |||
191 | do { | 191 | do { |
192 | /* Are any pointers crossing a page boundary? */ | 192 | /* Are any pointers crossing a page boundary? */ |
193 | if (pgto_base == 0) { | 193 | if (pgto_base == 0) { |
194 | flush_dcache_page(*pgto); | ||
195 | pgto_base = PAGE_CACHE_SIZE; | 194 | pgto_base = PAGE_CACHE_SIZE; |
196 | pgto--; | 195 | pgto--; |
197 | } | 196 | } |
@@ -211,11 +210,11 @@ _shift_data_right_pages(struct page **pages, size_t pgto_base, | |||
211 | vto = kmap_atomic(*pgto, KM_USER0); | 210 | vto = kmap_atomic(*pgto, KM_USER0); |
212 | vfrom = kmap_atomic(*pgfrom, KM_USER1); | 211 | vfrom = kmap_atomic(*pgfrom, KM_USER1); |
213 | memmove(vto + pgto_base, vfrom + pgfrom_base, copy); | 212 | memmove(vto + pgto_base, vfrom + pgfrom_base, copy); |
213 | flush_dcache_page(*pgto); | ||
214 | kunmap_atomic(vfrom, KM_USER1); | 214 | kunmap_atomic(vfrom, KM_USER1); |
215 | kunmap_atomic(vto, KM_USER0); | 215 | kunmap_atomic(vto, KM_USER0); |
216 | 216 | ||
217 | } while ((len -= copy) != 0); | 217 | } while ((len -= copy) != 0); |
218 | flush_dcache_page(*pgto); | ||
219 | } | 218 | } |
220 | 219 | ||
221 | /* | 220 | /* |