|
@@ -227,8 +227,11 @@ __weak long __pmem_direct_access(struct pmem_device *pmem, pgoff_t pgoff,
|
|
if (unlikely(is_bad_pmem(&pmem->bb, PFN_PHYS(pgoff) / 512,
|
|
if (unlikely(is_bad_pmem(&pmem->bb, PFN_PHYS(pgoff) / 512,
|
|
PFN_PHYS(nr_pages))))
|
|
PFN_PHYS(nr_pages))))
|
|
return -EIO;
|
|
return -EIO;
|
|
- *kaddr = pmem->virt_addr + offset;
|
|
|
|
- *pfn = phys_to_pfn_t(pmem->phys_addr + offset, pmem->pfn_flags);
|
|
|
|
|
|
+
|
|
|
|
+ if (kaddr)
|
|
|
|
+ *kaddr = pmem->virt_addr + offset;
|
|
|
|
+ if (pfn)
|
|
|
|
+ *pfn = phys_to_pfn_t(pmem->phys_addr + offset, pmem->pfn_flags);
|
|
|
|
|
|
/*
|
|
/*
|
|
* If badblocks are present, limit known good range to the
|
|
* If badblocks are present, limit known good range to the
|