diff options
| author | Dan Williams <dan.j.williams@intel.com> | 2016-10-07 16:46:24 -0700 |
|---|---|---|
| committer | Dan Williams <dan.j.williams@intel.com> | 2016-10-07 16:46:24 -0700 |
| commit | 178d6f4be8bf42b298bedf8ea2a00754100e0c4e (patch) | |
| tree | a71865455adc31082a4ad21a942286520a7b5da1 /drivers/nvdimm/dimm.c | |
| parent | db58028ee4e360430de8e3b48f657dc798ee6591 (diff) | |
| parent | 98a29c39dc689298d2f834f40102cba752eb49c0 (diff) | |
| download | linux-178d6f4be8bf42b298bedf8ea2a00754100e0c4e.tar.gz linux-178d6f4be8bf42b298bedf8ea2a00754100e0c4e.tar.bz2 linux-178d6f4be8bf42b298bedf8ea2a00754100e0c4e.zip | |
Merge branch 'for-4.9/libnvdimm' into libnvdimm-for-next
Diffstat (limited to 'drivers/nvdimm/dimm.c')
| -rw-r--r-- | drivers/nvdimm/dimm.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/nvdimm/dimm.c b/drivers/nvdimm/dimm.c index 71d12bb67339..619834e144d1 100644 --- a/drivers/nvdimm/dimm.c +++ b/drivers/nvdimm/dimm.c @@ -26,6 +26,14 @@ static int nvdimm_probe(struct device *dev) struct nvdimm_drvdata *ndd; int rc; + rc = nvdimm_check_config_data(dev); + if (rc) { + /* not required for non-aliased nvdimm, ex. NVDIMM-N */ + if (rc == -ENOTTY) + rc = 0; + return rc; + } + ndd = kzalloc(sizeof(*ndd), GFP_KERNEL); if (!ndd) return -ENOMEM; @@ -72,6 +80,9 @@ static int nvdimm_remove(struct device *dev) { struct nvdimm_drvdata *ndd = dev_get_drvdata(dev); + if (!ndd) + return 0; + nvdimm_bus_lock(dev); dev_set_drvdata(dev, NULL); nvdimm_bus_unlock(dev); |
