mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-12 11:36:35 +00:00
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>
This commit is contained in:
parent
094bb5d766
commit
26d2b3106f
1 changed files with 3 additions and 2 deletions
|
@ -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)
|
static inline void tcmu_flush_dcache_range(void *vaddr, size_t size)
|
||||||
{
|
{
|
||||||
unsigned long offset = offset_in_page(vaddr);
|
unsigned long offset = offset_in_page(vaddr);
|
||||||
|
void *start = vaddr - offset;
|
||||||
|
|
||||||
size = round_up(size+offset, PAGE_SIZE);
|
size = round_up(size+offset, PAGE_SIZE);
|
||||||
vaddr -= offset;
|
|
||||||
|
|
||||||
while (size) {
|
while (size) {
|
||||||
flush_dcache_page(virt_to_page(vaddr));
|
flush_dcache_page(virt_to_page(start));
|
||||||
|
start += PAGE_SIZE;
|
||||||
size -= PAGE_SIZE;
|
size -= PAGE_SIZE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue