diff options
author | tangwenji <tang.wenji@zte.com.cn> | 2017-11-28 21:40:27 +0300 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2018-01-13 02:07:10 +0300 |
commit | 26d2b3106f6015b1d19ae5f8b0cc1fc7fe8e669e (patch) | |
tree | b13c00c0549d3129c4f2ddade23c2f764a148d69 /drivers/target | |
parent | 094bb5d766cfcdae47e332c6d6713c7029241be1 (diff) | |
download | linux-26d2b3106f6015b1d19ae5f8b0cc1fc7fe8e669e.tar.xz |
tcmu: fix page addr in tcmu_flush_dcache_range
The page addr should be update.
Signed-off-by: tangwenji <tang.wenji@zte.com.cn>
Signed-off-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target')
-rw-r--r-- | drivers/target/target_core_user.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c index a415d87f22d2..6bcaa8b5684c 100644 --- a/drivers/target/target_core_user.c +++ b/drivers/target/target_core_user.c @@ -455,12 +455,13 @@ static struct tcmu_cmd *tcmu_alloc_cmd(struct se_cmd *se_cmd) static inline void tcmu_flush_dcache_range(void *vaddr, size_t size) { unsigned long offset = offset_in_page(vaddr); + void *start = vaddr - offset; size = round_up(size+offset, PAGE_SIZE); - vaddr -= offset; while (size) { - flush_dcache_page(virt_to_page(vaddr)); + flush_dcache_page(virt_to_page(start)); + start += PAGE_SIZE; size -= PAGE_SIZE; } } |