habanalabs: if map page fails don't try to unmap it
authorDafna Hirschfeld <dhirschfeld@habana.ai>
Mon, 15 Aug 2022 08:40:55 +0000 (11:40 +0300)
committerOded Gabbay <ogabbay@kernel.org>
Sun, 18 Sep 2022 10:29:52 +0000 (13:29 +0300)
The original code tried to unmap a page that was not mapped as part of
the map page error path.

Signed-off-by: Dafna Hirschfeld <dhirschfeld@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/common/mmu/mmu.c

index 60740de..4153aec 100644 (file)
@@ -403,6 +403,8 @@ int hl_mmu_map_contiguous(struct hl_ctx *ctx, u64 virt_addr,
                        dev_err(hdev->dev,
                                "Map failed for va 0x%llx to pa 0x%llx\n",
                                curr_va, curr_pa);
+                       /* last mapping failed so don't try to unmap it - reduce off by page_size */
+                       off -= page_size;
                        goto unmap;
                }
        }