diff options
Diffstat (limited to 'drivers/misc/cxl/context.c')
-rw-r--r-- | drivers/misc/cxl/context.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/misc/cxl/context.c b/drivers/misc/cxl/context.c index 5e506c19108a..5d36dcc7f47e 100644 --- a/drivers/misc/cxl/context.c +++ b/drivers/misc/cxl/context.c | |||
@@ -117,13 +117,12 @@ int cxl_context_init(struct cxl_context *ctx, struct cxl_afu *afu, bool master, | |||
117 | static int cxl_mmap_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | 117 | static int cxl_mmap_fault(struct vm_area_struct *vma, struct vm_fault *vmf) |
118 | { | 118 | { |
119 | struct cxl_context *ctx = vma->vm_file->private_data; | 119 | struct cxl_context *ctx = vma->vm_file->private_data; |
120 | unsigned long address = (unsigned long)vmf->virtual_address; | ||
121 | u64 area, offset; | 120 | u64 area, offset; |
122 | 121 | ||
123 | offset = vmf->pgoff << PAGE_SHIFT; | 122 | offset = vmf->pgoff << PAGE_SHIFT; |
124 | 123 | ||
125 | pr_devel("%s: pe: %i address: 0x%lx offset: 0x%llx\n", | 124 | pr_devel("%s: pe: %i address: 0x%lx offset: 0x%llx\n", |
126 | __func__, ctx->pe, address, offset); | 125 | __func__, ctx->pe, vmf->address, offset); |
127 | 126 | ||
128 | if (ctx->afu->current_mode == CXL_MODE_DEDICATED) { | 127 | if (ctx->afu->current_mode == CXL_MODE_DEDICATED) { |
129 | area = ctx->afu->psn_phys; | 128 | area = ctx->afu->psn_phys; |
@@ -155,7 +154,7 @@ static int cxl_mmap_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
155 | return VM_FAULT_SIGBUS; | 154 | return VM_FAULT_SIGBUS; |
156 | } | 155 | } |
157 | 156 | ||
158 | vm_insert_pfn(vma, address, (area + offset) >> PAGE_SHIFT); | 157 | vm_insert_pfn(vma, vmf->address, (area + offset) >> PAGE_SHIFT); |
159 | 158 | ||
160 | mutex_unlock(&ctx->status_mutex); | 159 | mutex_unlock(&ctx->status_mutex); |
161 | 160 | ||