diff options
Diffstat (limited to 'drivers/nvdimm/core.c')
-rw-r--r-- | drivers/nvdimm/core.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/nvdimm/core.c b/drivers/nvdimm/core.c index 715583f69d28..4d7bbd2df5c0 100644 --- a/drivers/nvdimm/core.c +++ b/drivers/nvdimm/core.c | |||
@@ -99,8 +99,11 @@ static struct nvdimm_map *alloc_nvdimm_map(struct device *dev, | |||
99 | nvdimm_map->size = size; | 99 | nvdimm_map->size = size; |
100 | kref_init(&nvdimm_map->kref); | 100 | kref_init(&nvdimm_map->kref); |
101 | 101 | ||
102 | if (!request_mem_region(offset, size, dev_name(&nvdimm_bus->dev))) | 102 | if (!request_mem_region(offset, size, dev_name(&nvdimm_bus->dev))) { |
103 | dev_err(&nvdimm_bus->dev, "failed to request %pa + %zd for %s\n", | ||
104 | &offset, size, dev_name(dev)); | ||
103 | goto err_request_region; | 105 | goto err_request_region; |
106 | } | ||
104 | 107 | ||
105 | if (flags) | 108 | if (flags) |
106 | nvdimm_map->mem = memremap(offset, size, flags); | 109 | nvdimm_map->mem = memremap(offset, size, flags); |
@@ -171,6 +174,9 @@ void *devm_nvdimm_memremap(struct device *dev, resource_size_t offset, | |||
171 | kref_get(&nvdimm_map->kref); | 174 | kref_get(&nvdimm_map->kref); |
172 | nvdimm_bus_unlock(dev); | 175 | nvdimm_bus_unlock(dev); |
173 | 176 | ||
177 | if (!nvdimm_map) | ||
178 | return NULL; | ||
179 | |||
174 | if (devm_add_action_or_reset(dev, nvdimm_map_put, nvdimm_map)) | 180 | if (devm_add_action_or_reset(dev, nvdimm_map_put, nvdimm_map)) |
175 | return NULL; | 181 | return NULL; |
176 | 182 | ||