Commit 75bc3986 authored by Dafna Hirschfeld's avatar Dafna Hirschfeld Committed by Oded Gabbay

habanalabs: fix bug when setting va block size

the size of a block is always 'block->end - block->start + 1'
Signed-off-by: default avatarDafna Hirschfeld <dhirschfeld@habana.ai>
Reviewed-by: default avatarOded Gabbay <ogabbay@kernel.org>
Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
parent 38a43580
...@@ -457,7 +457,7 @@ static void merge_va_blocks_locked(struct hl_device *hdev, ...@@ -457,7 +457,7 @@ static void merge_va_blocks_locked(struct hl_device *hdev,
prev = list_prev_entry(va_block, node); prev = list_prev_entry(va_block, node);
if (&prev->node != va_list && prev->end + 1 == va_block->start) { if (&prev->node != va_list && prev->end + 1 == va_block->start) {
prev->end = va_block->end; prev->end = va_block->end;
prev->size = prev->end - prev->start; prev->size = prev->end - prev->start + 1;
list_del(&va_block->node); list_del(&va_block->node);
kfree(va_block); kfree(va_block);
va_block = prev; va_block = prev;
...@@ -466,7 +466,7 @@ static void merge_va_blocks_locked(struct hl_device *hdev, ...@@ -466,7 +466,7 @@ static void merge_va_blocks_locked(struct hl_device *hdev,
next = list_next_entry(va_block, node); next = list_next_entry(va_block, node);
if (&next->node != va_list && va_block->end + 1 == next->start) { if (&next->node != va_list && va_block->end + 1 == next->start) {
next->start = va_block->start; next->start = va_block->start;
next->size = next->end - next->start; next->size = next->end - next->start + 1;
list_del(&va_block->node); list_del(&va_block->node);
kfree(va_block); kfree(va_block);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment