aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/cxl/context.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/cxl/context.c')
-rw-r--r--drivers/misc/cxl/context.c5
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,
117static int cxl_mmap_fault(struct vm_area_struct *vma, struct vm_fault *vmf) 117static 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