mirror of https://gitee.com/openkylin/linux.git
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
|
@ -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 New Issue