diff options
Diffstat (limited to 'net/sunrpc/xdr.c')
| -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 | /* |
